Thursday, June 27, 2013

Answers of Concepts of Programming Languages Chapter 16

Review Questions
1. Symbolic logic can be used for the three basic needs of formal logic : to express propositions, to express the relationships between propositions and to describe how new propositions can be inferred from other propositions that are assumed to be true

2. Functor and an ordered list of parameters

3. Propositions can be started in two modes : one in which the proposition is defined to be true and one in which the truth of the proposition is something that is to be determined.

4. The general clausal form of proposition :
B1 U B2 U ... U Bn ⊂ A1 ∩ A2 ∩ ... ∩ An

5. Antecedent is the right side of a clausal form proposition. The left side is consequent

7. Horn clauses can be in only two forms : single atomic proposition on the left side or right side

8. Basic concept of declarative semantics is there is a simple way to determine the meaning of each statement, and it does not depend on how the statement might be used to solve a problem

Problem Set
2. Declarative semantics is considerably simpler than the semantics of the imperative language. Programming in a logic programming language is nonprocedural

10. One of the most widely known uses of logic programming in expert systems is the expert system construction system known as APES. The APES system includes a very flexible facility for gathering information from the user during expert system construction.

Wednesday, June 26, 2013

Answers of Concepts of Programming Languages Chapter 15

Review Questions
2. A lambda expression specifies the parameters and the mapping of a function
3. Atoms and lists
4. In a linked list structure
5. The necessity of QUOTE arises because of the fundamental nature of Scheme : data and code have the same form
6. Simpel lists are the lists which elements are restricted to atoms
7. read-evaluate-print loop
13. The origin of the name of CAR AND CDR lies in the first implementation of LISP, which was on an IBM 704 computer.
14. AB
18. Tail recursive function is a function whose recursive call is the last operation in the function. Regardless of how many recursive calls are requested, only one activation record instance is necessary, if we use the tail recursive function
20. Scheme is far smaller and semantically simpler, in part because of its exclusive use of static scoping, but also because it was designed to be used for teaching programming.
22. Reader macros or read macros are expanded during the reader phase of a LISP language processor
23. ML is a strongly typed language whereas Scheme is essentially typeless. ML uses a syntax that is more closely related to that of an imperative language than that of LISP
24. Evaluation environment stores the names of all implicitly and explicitly declared identifiers in a program, along with their types.

Problem Set
2. fun function_name (formal parameters) = expression;
4. Characteristics of Haskell

  • functions in Haskell can be overloaded
  • nonstrict semantics are used in Haskell
  • Haskell is a pure functional programming language
7. F# has a full-featured IDE, an extensive library of utilities that supports imperative, object-oriented, and functional programming, and has interoperability with a collection of nonfunctional languages.

Answers of Concepts of Programming Languages Chapter 14

Review Questions
2. An exception is raised when its associated event occurs
3. Advantages to having exception handling built into a language :

  • Without exception handling, the code required to detect error conditions can considerably clutter a program
  • Save development costs, program size, and program complexity
7. All of them are gathered together in an exception clause
10. Four exceptions defined in the default package, Standard :
  • Constraint_Error
  • Program_Error
  • Storage_Error
  • Tasking_Error
11. Yes
12. Disabling run-time checks
13. Problems with Ada's exception handling :
  • the propagation model
  • the inadequacy of exception handling for tasks
  • when supporting OOP, its exception handling was not extended to deal with the new constructs
15. Container classes
16. Math library functions
18. After a handler has completed its execution, control flows to the first statement following the try construct

Problem Set
1. The early programming languages, when the error occurs, the error is transferred to the operating system. The typical OS reaction to a run-time error is to display a diagnostic message.
2. Java compilers usually generate code to check the correctness of every subscript expression. In C subscript ranges are not checked because the cost of such checking was not believed to be worth the benefit of detecting such errors
4. Three alternatives for dealing with checked exception in Java :
  • It can catch the exception and handle it
  • It can catch the exception and throw an exception that is listed in its own throws clause
  • It could declare the exception in its own throws clause and not handle it, which effectively propagates the exception to an enclosing try clause, if there is one, or to the method's caller, if there is no enclosing try clause.

Answers of Concepts of Programming Languages Chapter 13

Review Questions
1. Instruction level, statement level, unit level,  and program level
2. SIMD : computers that have multiple processors that execute the same instruction simultaneously
3. MIMD: computers that have multiple processors that operate independently but whose operations can be synchronized
5. Unit level concurrency
6. Vector processors have groups of registers that store the operands of a vector operation in which the same instruction is executed on the whole group of operands simultaneously
8. Scheduler manages the sharing of processors among the tasks.
10. A task is in the blocked state is when the task has been running, but the execution was interrupted by one of several different events
11. Three characteristics of tasks distinguish them from subprograms are :

  • a task may be implicitly started, whereas  a subprogram must be explicitly called
  • when a program unit invokes a task, in some cases it need not wait for the task to complete its execution before continuing its own
  • when the execution of a task is completed, control may or may not return to the unit that started the execution
12. Heavyweight task is the task executed in its own address space, while lightweight task executes in the same address space.
15. Five different states of task :
  • New
  • Ready
  • Running
  • Blocked
  • Dead
16. A task descriptor is a data structure that stores all of the relevant information about the execution state of a task
17. A guard is a linguistic device that allows the guarded code to be executed only when a specified condition is true
19. Competition and cooperation synchronization
24. Concurrent Pascal, Modula, CSP/k and Mesa
30. terminate clause is used to end the execution of a task
35. The yield method is a request from the running thread to surrender the processor voluntarily

Problem Set
1. Because two or more tasks are racing to use the shared resource and the behavior of the program depends on which task arrives first
7 & 8. Comparisons between C# and Java : 
  • C#'s method can be run in its own thread. In Java, only methods named run can run in their own threads.
  • Java supports actor threads, but C# supports both actor and server threads.
  • Thread termination is also cleaner with C$
  • Synchronization in C# is more sophisticated

Answers of Concepts of Programming Languages Chapter 12

Review Questions
1. CLOS, F#
2. Problems with programming with abstract data types are :

  • The modifications require changes to all client programs
  • the type definitions are all independent and are at the same level
3. Inheritance offers the reuse of the ADT and provides framework for the definition of hierarchies of related classes that can reflect the descendant relationships in the problem space
4. Message protocol is the entire collection of methods of an object
7. Dynamic dispatch is dynamic binding of messages to method definitions
8. The protocol of method in a class is called abstract method. Abstract class is the class that has at least one abstract method
9. Design issues for OOP are
  • The exclusivity of objects
  • Are subclasses subtypes?
  • Single and Multiple Inheritance
  • Allocation and Deallocation of Objects
  • Dynamic and Static Binding
  • Nested Classes
  • Initialization of Objects
11. Message protocol is the entire collection of methods of an object
12. All Smalltalk objects are allocated from the heap
14. The only type checking in Smalltalk is dynamic, and the only type error occurs when a message is sent to an object that has no matching method
15. Single inheritance
16. The Smalltalk user interface has had an important impact on computing : the integrated use of windows, mouse-pointing devices and pop-up and pull-down menus, and also the advancement of OO.
19. Heap-dynamic objects are deallocated using delete operator in C++
23. The public and protected members of a base class are also public and protected, respectively in public-derived class. In a private-derived class, both the public and protected member of the base class are private

Problem Set
1. Java does not support private and protected derivations like in C++
7. If a class attempts to implement two interfaces and both define methods that have the same name and protocol, there is no way to implement both in the class
9. class Base {
    public:
       void move()
       {
            cout<<"Move!";
        }
    };

    class Sub : public Base{
        void move()
        {
            cout<<"Fly!";
         }
    };

10. Inheritance offers the reuse of the ADT and provides framework for the definition of hierarchies of related classes that can reflect the descendant relationships in the problem space

Answers of Concepts of Programming Languages Chapter 11

Review Questions
1. The two fundamental kinds of abstraction are process abstraction and data abstraction
2. Abstract data type is a data type that satisfies the following conditions :

  • The representation of objects of the type is hidden from the program units that use the type, so the only direct operations possible on those objects are those provided in the type's definition
  • the declarations of the type and the protocols of the operations on objects of the type, which provide the type's interface, are contained in a single syntactic unit.
4. A facility for defining abstract data type in a language must provide a syntactic unit that encloses the declaration of the type and the prototypes of the subprograms that implement the operations on objects of the type.
5. The design issues for ADT are
  • the form of container for the interface to the type
  • whether abstract data type can be parameterized
  • what access controls are provided and how such controls are specified
  • the language designer must decide whether the specification of the type is physically separate from its implementation
7. The private part is visible to the compiler
8. The semantic difference is that objects of a type that is declared limited private have no built-in operations.
9. Package specifications provide the interface of the encapsulation and the body package provides the implementation of most of the entities named in the associated package specification
10. The with clause makes the names defined in external packages visible
11. The use clause eliminates the need for explicit qualification of the references to entities from the named package.
12. C++ classes are types, Ada packages are more generalized encapsulations that can define any number of types.
14. Member function of a C++ class can be defined in two distinct ways : the complete definition can appear in the class, or only in its header.
15. Destructors are often used as a debugging aid, in which case they simply display or print the values of some or all of the object's data members before those members are deallocated
16. No value returned

Problem Set
8. The drawbacks of using user-defined generic classes :
  • they cannot store primitives
  • the elements cannot be indexed
9. The default constructor is called instead
10. The two conditions are 
  • The representation of objects of the type is hidden from the program units that use the type, so the only direct operations possible on those objects are those provided in the type's definition
  • the declarations of the type and the protocols of the operations on objects of the type, which provide the type's interface, are contained in a single syntactic unit.
11. Because C# uses garbage collection for most of its heap objects
12. Classes in Ruby are made dynamic by simply including additional class definitions that specify the new members.

Answers of Concepts of Programming Languages Chapter 10

Review Questions
1. Subprograms cannot be nested and all local variables are static
4. The task of linker is put the executable programs together.
5. The reason why implementing subprograms with stack-dynamic local variables is more difficult :

  • The compiler must generate code to cause the implicit allocation and deal-location of local variables
  • Recursion adds the possibility of multiple simultaneous activations of a subprogram
6. Activation record is the format of noncode part of a subprogram, while activation record instance is a concrete example of an activation record. 
11. EP stands for environment pointer. EP is used to access parameters and local variables during the execution of a subprogram.

Answers of Concepts of Programming Languages Chapter 9

Review Questions
1. The general characteristics of subprograms :

  • Each subprogram has a single entry point
  • the calling program unit is suspended during the execution of the called subprogram, which implies that there is only one subprogram in execution at any given time
  • control always return to the caller when the subprogram execution terminates
2. if the subprogram having been called, it has begun execution but has not yet completed the execution
3. The header gives the definition of the program
4. One characteristic of Python function is the function def statements that are executable
5.
6.
7. Parameter profile of a subprogram contains the number, order and types of its formal parameters. The protocol of a subprogram is its parameter plus, if it is a function, its return type.
8. Formal parameters are parameters in the subprogram header. Actual parameters are a list of parameters to be bound to be formal parameters of the subprogram
9. The advantage of formal parameter is that they can appear in any order in the actual parameter list. The disadvantage is that the user of the subprogram must know the names of formal parameters.
10. Functions return values and procedures do not.
11.
12. The advantage of stack-dynamic local variables are the flexibility brought by them. The disadvantages are 
  • there is cost of time required to allocate, initialize and deallocate such variables for each call to the subprogram
  • accesses to stack-dynamic local variable must be indirect
  • when all local variables are stack dynamic, subprograms cannot be history sensitive
13. The advantage of static local variables is that they are slightly more efficient. The disadvantage is their inability to support recursion
14.
15. Three semantic models :
  • in mode
  • out mode
  • inout mode

Problem Set
3. The template functions of C++ are a kind of poor cousin to a subprogram in which the types of the formal parameters are dynamically bound to the types of the actual parameters in a call.
5. a. Same as the original
    b. value = 6, list = {4,1,2,8,10}
    c. Same as b
7. a. Same as the original
    b. {6,10}
    c. {6,10}
15. Ada compilers are able to determine the defined size of the dimension of all arrays that are used as parameters at the time of subprograms are compiled.

Tuesday, June 25, 2013

Answers of Concepts of Programming Languages Chapter 8

Review Questions

1. A control structure is a control statement and the collection of statements whose execution it controls
2. Bohm and Jacopini proves that all algorithms that can be expressed by flowcharts can be coded in a programming language with only two control statements : one for choosing between two control flow paths and one for logically controlled iterations
3. Block is a sequence of code, delimited by either braces or the do and end reserved words.
4. The design issue of all the selection and iteration control statement is : should the control structure have multiple entries?
5. -
6. Python uses indention to specify compound statements and using a colon to introduce the then clause.
7. -
8. -
9. Design issues of multiple selection statements are :

  • What is the form and type of the expression that controls the selection?
  • How are the selectable segments specified?
  • Is execution flow through the structure restricted to include just a single selectable segment?
  • How are the case values specified?
  • How should unrepresented selector expression values be handled, if at all?
10. -
11. The C switch statement has virtually no restrictions on the placement of the case expressions, whcih are treated as if they were normal statement labels.
12. C switch statement is based on ALGOL 68
13. C# has a static semantics rule that disallows the implicit execution of more than one segment. Beside, the control expression and the case statements can be strings in C#
14. Design issues of iterative statements are :
  • What are the type and scope of the loop variable?
  • Should it be legal for the loop variable or loop parameters to be changed in the loop, and if so, does the change affect loop control?
  • Should the loop parameters be evaluated only once, or once for every iteration?

Problem Set

1. Design issues of two way selection are 
  • What is the form and type of the expression that controls the selection?
  • How are the then and else clauses specified?
  • How should the meaning of nested selectors be specified?
2.-
3. The issue was that when a selection statement is nested in the then clause of a selection statement, it is not clear to which if an else clause should be associated.
Example :
      if (a
           if(a==0)
               a = 9;
      else
          b = 0;

Monday, April 8, 2013

Answers of Concepts of Programming Languages Chapter 7


1.
2. operator requiring 3 operands
3. operator preceding the operands
4. the exponentiation
5. an expression needed to be parenthesized to show the desired order
6. APL uses right to left associativity rule
7.
8. functional side effect is the unwanted output that occurs when the function changes either one of its parameters or a global variable
9.
10. conditional expression is the expression used to determine which actions should be taken based on certain condition

Problem set
1
2
3. I think it will be beneficial, because it can eliminate the confusion of those operators function, thus increases the readibility
4. I don't think it will be a good idea, because when we eliminate the precedence rules, it means we need extra effort to determine the precedence by adding more syntax or operators. It will just waste of time and decrease efficiency.
5. Yes, because it really will simplify the length of the statement and make the user looks like more professional.
6. Yes, because it will be really helpful, especially in looping, so we don't need to write longer statements, instead, just by using the ++ sign to refer to increment by 1.
7.
8. When there is 2 integers which has really big number. When we want to add both of them, it will cause an overflow exception, because the result will pass over the range supported.
9
10
11
12
13. a. sum1 = 46, sum2 = 46
    b. sum1 = 44, sum2 = 44

Answers of Concepts of Programming Languages Chapter 6


1. A descriptor is the collection of the attribute of a variable
2.
3. the design issues are : whether strings should be simply a special kind of character array or a primitive type and whether string should have static or dynamic length
4. The three string length options are : static length string, dynamic length string, and limited dynamic length string
5.
6.
7.
8. design issues for arrays are :
   - what types are legal for subscripts?
   - are subscripting expressions in element references range checked?
   - when are subscript ranges bound?
   - when does array allocation take place?
   - are ragged or rectangular multidimensioned array allowed, or both?
   - can arrays be initialized when they have their storage allocated?
   - what kinds of slices are allowed, if any?
9.
10. a reference to a nonexistent element yields undef, but no error will be reported
11. when we assign an index which is more than the initialized one, it will automatically add the gap with undefined datas and the statement will run
12. Perl, Ruby, Lua
13
14. Ada provides the => operator that makes users available to initialize specified value to specifid index.
15. Parenthized lists of constants
16. Ada provides catenation for the single dimensioned array
17. row major order : the elements of the array that have as their first subscirpt the lower bound value of that subscript are stored first
    column major order : the elements of the array that have as their last subscirpt the lower bound value of that subscript are stored first
18.
19
20
21. level numbers are used to indicate by their relative values the hierarchical structure of the record
22.
23. tuple is similar to record, but in tuple, the elements are not named
24. no

Problem set
1.
2. negative integer is stored in sign-magnitude notation
3. precision is the accuracy of the fractional part of a value
   range is a combination of the range of fractions and range of exponents
4.
5
6. in Java, boolean type can't be represented by any integer, while in C, it can.
7. reference type variable in C++ is a constant pointer that is always implicitly dereferenced, while pointer requires explicit dereference
8. Java reference type variable is not a constant, thus it is safer.
9. struct is used to store more than one data types into a group, while union is used to group multiple variables to share the memory
10.
11
12
13. reference type is used when we want to pass it to another function, while value is used when it is required by the function itself.
    Example : void print(int *jumlah) {}
              void main() {int value=0; }

Answers of Concepts of Programming Languages Chapter 5


1. Whether the names are case sensitive and whether the special words of languages are reserved words or keywords
2. it can harm the readibility of the program
3. Because the ability to redefine keywords can be confusing
4. Variables accessing the same memory location
5. In C++ reference, aliases are used in the union types
6. l-value is the address of a variable, while r-value is the value of the variable

Problem set
1. all valid except _Student and 123Student
2. l-value is the address of a variable.
   Example of the error ->  "   = 1+2; "
3.
4. Type declaration of a variable is necessary because it determines the range of values it can store and the set of operations it can use
   int type in Java ranges a value range of -2147483648 to 2147483647

Answers of Concepts of Programming Languages Chapter 4


Review Questions
1.
2. -Simplicity : techniques for lexical analysis are less complex than syntax analysis
   -Efficiency : lexical analysis requires a significant portion of total compilation time, so it is not good enough to optimize the syntax analyzer
   -Portability : lexical analysis is platform dependent while syntax analyzer is platform independent
3. Lexeme : logical groupings consist of characters collected by lexical analyzer
   tokens : internal codes for categories of lexemes
4.
5. -Write a formal description of the token patterns of the language using a descriptive language related to regular expressions
   -Design a state transition diagram that describes the token patterns of the language and write a program that implements the program
   -Design a state transition diagram that describes the token patterns of the language and hand-construct a table-driven implementation of the state diagram
6. State transition diagram is a directed graph, whose nodes are labeled with state names.
7.
8. -checking the input program to determine whether it is syntactically correct
   -producing a complete parse tree
9. top-down : building tree from the root downward to the leaves
   bottom-up : builidng tree from the leaves to the root
10. it is too complicated and inefficient
11. it is too complicated and inefficient
12. it is in order to increase the speed of parsing

Problem Set
1.a. pass
  b. not pass
  c. pass

2.a. pass
  b. pass
  c. not pass

3. void expr()
   {
      printf("Enter expr\n");
 
 
     term();

     while(nextToken== ADD_OP || nextToken==MULT_OP)
     {
        lex();
        term();
     }

     printf("Exit expr\n");
   }

Thursday, March 28, 2013

Series 7 Intel Ultrabook - OVERVIEW | SAMSUNG

Series 7 Intel Ultrabook - OVERVIEW | SAMSUNG

Ultrabook Terbaru dari Samsung : Samsung New Series 5 Ultra dan Samsung Series 7 Ultra

Sekarang ini ultrabook telah menjadi fokus dan perhatian dunia. Dengan keringanan dan kecanggihan yang ditawarkan, membuat semua perusahaan IT dunia berbondong-bondong mengeluarkan ultrabook yang semakin tipis dan ringan. Pastinya, yang dimaksud dengan ultrabook adalah notebook yang sangat tipis dan pastinya ringan. Dengan fitur-fitur yang menarik tersebut, membuat banyak orang mencari ultrabook sebagai notebook barunya.

Samsung New Series 5 Ultra

Salah satu ultrabook yang harus dipertimbangkan adalah Samsung New Series 5 Ultra. Ini merupakan "regenerasi" dari Samsung Series 5 sebelumnya. Ultrabook ini memiliki sejumlah fitur yang sangat canggih dibanding pendahulunya, juga dengan ultrabook lainnya.

Saya sendiri adalah pengguna Samsung Series 5 dan saya merasa sangat puas dengan performance yang diberikan oleh ultrabook ini, jadi pastinya Samsung New Series 5 Ultra pasti akan lebih memuaskan penggunanya. Berikut, saya berikan ulasan-ulasan mengenai Samsung New Series 5 Ultra ini.

Samsung New Series 5
Design dan Layar

Untuk masalah design dan layar, Samsung New Series 5 Ultra memiliki keunggulan yang cukup tinggi diantara ultrabook lain yang selevel dengannya. Ultrabook 14 inci HD LED ini dilengkapi dengan badan yang full aluminium sehingga memberi kesan mewah. Dengan resolusi 1366x768 ppi, didukung dengan processor grafis AMD RadeonTM HD 8750M ( 2 GB gDDR3), membuat ultrabook ini semakin mantap dalam hal layar.


Berat dan Tipis

Ultrabook ini berbobot 1.83 kg yang mana sangatlah ringan, dengan ketipisan 19.5 mm. Dengan bobot dan ketipisan yang dimiliki, membuat Ultrabook ini selalu siap untuk dibawa kemana saja dengan performance yang menjanjikan.

Sistem Operasi, Memory, Processor, Storage

Sistem operasi yang dibawa oleh ultrabook ini adalah Windows 8 (64 bit) dengan dukungan 4 GB DDR3 (1600 MHz). Processor yang digunakan oleh ultrabook ini adalah Intel Core i5 3337U (1,80 GHz sampai 2,70GHz, 3MB L3 Cache). Dengan kombinasi ketiga fitur tersebut, ditambah lagi dengan storage 500GB S-ATA harddrive (termasuk 24GB ExpressCache), membuat proses-proses di ultrabook ini, seperti boot up dan shut down menjadi sangat cepat !
(Sebagai perbandingan saja, Samsung Series 5 yang saya gunakan, hanya memerlukan sekitar 10 detik untuk start up, dengan OS Windows 7 dan fitur lainnya yang sama seperti Samsung New Series 5)



Samsung New Series 5

Sound

Bagi teman-teman yang suka mendengarkan lagu, ultrabook ini tidak akan mengecewakan Anda semua. Dengan JBL Stereo Speaker (2Wx2) dan SoundAliveTM, suara yang dihasilkan oleh ultrabook ini dijamin bersih dan nyaring, sehingga teman-teman sekalian tidak perlu takut untuk kehilangan momen indah mendengarkan lagu favorit Anda.

Ports

Ultrabook ini memiliki 1 (satu) colokan USB 3.0 dan 2 (dua) colokan USB 2.0. Tidak hanya itu, ultrabook ini juga memiliki port mini-HDMI  dan port VGA untuk tetap memungkinkan penggunanya untuk melakukan presentasi ke projector. Yang tak kalah pentingnya, ultrabook ini juga memiliki 3-in-1 (SD, SDHC, SDXC) Multimedia Card Reader. Ada 1 fitur yang sangat tidak boleh dilewatkan oleh Samsung ini, yaitu kita bisa mengecas alat-alat elektronik kita melalui USB port, walaupun ultrabook ini dalam keadaan shut down !

Baterai

Mengenai masalah baterai, ultrabook ini memberikan daya tahan baterai yang sangat lama. Dikatakan oleh Samsung, bahwa ultrabook yang menggunakan baterai Li-ion 4 Cell (57Wh) ini bisa bertahan hingga 10 jam !


Samsung Series 7 Ultra


Ultrabook yang tidak bakal kalah menariknya, adalah Samsung Series 7 Ultra. Secara garis besar, ultrabook ini sangat mirip dengan Samsung New Series 5 Ultra. Untuk lebih jelasnya, simaklah ulasan saya berikut.

Samsung Series 7 Ultra
Design dan Layar

Ultrabook ini hadir dengan layar 13.3 inci SuperBright + 350nit FHD LED (1920x1080 ppi) dengan fitur Anti-Reflective. Ultrabook ini juga didukung dengan AMD Radeon™ HD 8570M Graphics dengan 1GB gDDR3 Graphic Memory (PowerExpress)



Berat dan Tipis

Ultrabook ini berbobot 1.46 kg ( 0.37 kg lebih ringan dari Samsung New Series 5) dengan ketipisan 17.5 mm. Dengan keunggulan ini, ultrabook ini akan selalu setia menemani perjalanan Anda tanpa memberi beban lebih.

Sistem Operasi, Memory, Processor, Storage

Sistem operasi yang dibawa oleh ultrabook ini adalah Windows 8 (64 bit) dengan dukungan 4 GB DDR3 (1600 MHz). Processor yang digunakan oleh ultrabook ini adalah Intel Core i5 3337U (1,80 GHz, 3MB L3 Cache). Dengan kombinasi ketiga fitur tersebut, ditambah lagi dengan storage 128GB Solid-state drive, membuat proses-proses di ultrabook ini, seperti boot up dan shut down menjadi sangat cepat ! (bahkan lebih cepat dari Samsung New Series 5 !)



Sound


Untuk teman-teman yang suka mendengarkan lagu, kedua ultrabook ini merupakan pilihan yang tepat. Samsung Series 7 Ultra hadir dengan fitur yang sama persis, yaitu JBL Stereo Speaker (2Wx2) dan SoundAliveTM.

Ports

Ultrabook ini juga memiliki jumlah port yang sama dengan Samsung New Series 5 Ultra, yaitu 1 (satu) colokan USB 3.0 dan 2 (dua) colokan USB 2.0, port mini-HDMI  sertaport VGA, 3-in-1 (SD, SDHC, SDXC) Multimedia Card Reader, namun dengan tetap hadir dengan kemampuan bisa mengecas alat-alat elektronik kita melalui USB port, walaupun ultrabook ini dalam keadaan shut down.

Baterai

Baterai ultrabook ini juga tidak akan kalah dari Samsung New Series 5. Dengan baterai Li-ion 4 Cell (57Wh), ultrabook ini dapat menemani penggunanya hingga 10 jam !


Point yang harap diingat ketika membeli ultrabook

Karena mengejar ketipisan dan keringanan, ultrabook tidak dilengkapi DVD-ROM, sehingga kita harus membeli DVD-ROM External bila ingin menggunakan DVD. Tidak hanya itu, biasanya ultrabook hanya mendukung mini-HDMI, yang mana tidak bisa langsung dihubungkan dengan kabel projector, sehingga harus membeli mini-HDMI to HDMI converter, bila diperlukan.


Untuk lebih jelas, bisa mengunjungi http://www.samsung.com/id/consumer/computers-printer/notebook-pc/essential/NP530U4E-S01ID (Samsung New Series 5 Ultra)

dan

Monday, March 25, 2013

Answers of Chapter 3 "Concept of Programming Language"


1. Syntax is the form of programming language's expressions, statements, and program units. Semantics is the meaning of those expressions, statements, and program units
2. Language descriptions is for programming language implementors
3. The general operation of language generator is as same as when a button is pushed and certain languages are generated
4. The general operation of language recognizers is it will scan whether inputted string is inside certain language. If it is, it will accept the string.
5. Sentences are string of a language. Sentential form is each strings in the derivation of each string in sequence.
6.
7. Three common extensions of EBNF : optional part of RHS is delimited by brackets, the enclosed part can be repeated indefinitely or left out left alltogether.
8. static semantics is only indirectly related to the meaning of programs during execution. Dynamic semantics is not universally accepted in notation.
9. Predicates function as boolean expression on the union of the attribute set and a set of literal attribute values
10. Synthesized attributes are used to pass semantic information up a parse tree while inherited attributes pass smenatic information down and acroos a tree
11. the parse tree is evaluated based on its underlying BNF grammar, wit a possibility of having empty set of attributes values attached to each node.
12. Attribute grammars are used to describe more of the structure of a programming language than can be described with a context-free grammar.

Problem Set
1. Example of syntax error in C programming language : while boolean_expr  -> no brackets before and after the boolean expression.
Example of semantics error in C programming language : while (angka) {}  -> but, the variable 'angka' is never defined by user before

2. a. class { }
    b. ( ) ;
    c. switch ( ) { case : }
    d. union { };
    e. float ;

3. -> =
    -> A|B|C
    -> +
                 |
    -> *
                 |
    -> ( )
                    |

4.
5.
6. a.   -> =
          -> A|B|C
          -> +
                       |   * ( )
                       |  ( )
                       |
    b.   -> =
          -> A|B|C
          -> +
                       |   *
                       |  ( )
                       |  < id> *
                       |   +

    c.   -> =
          -> A|B|C
          -> * ( )
                       |   +
                       |  ( )
                       |
15.  expression -> var {(+ | -) var}
16. expr -> expr {(+ | *) expr}
21. a. do{                                            loop: expr1;
          expr1                                         if(expr==0) goto out;
          }while(expr2);                            else goto loop;
                                                            out : ...
     b. expr1;
         loop : if expr2 ==0 goto out
         ...
         expr3;
         goto loop
         out : ...
     c. if expr1==0 then expr2;
         else expr3;
     d. expr1;
         loop : if expr2 ==0 goto out
         ...
         expr3;
         goto loop
         out : ...
     e. if expr1 == 1 then expr2;
        else if expr2 == 1 then expr3;;
        else if expr3 == 1 then expr4;
        ...

Monday, March 4, 2013

Answers of Concepts of Programming Languages Chapter 2

A. Review Questions
1.      Plankalkul was designed in 1945 and published in 1972.
2.      One of most interesting features of Zuse’s programs is the inclusion of mathematical expressions showing the current relationships between program variables.
3.      Plankalkul means program calculus.
4.      Two significant shortcomings in 1950’s that was overcome by Speedcoding were lacking of floating-point arithmetic operations and lacking of indexing of some sort to allow the convenient use of arrays.
5.      Words of UNIVAC I’s memory had 72 bits, grouped as 12 six-bit bytes.
6.      -
7.      John Backus invented the Speedcoding for IBM 701.
8.      Short code was developed by John Mauchly. It was called automatic programming because it simplified the programming process although spent more execution time.
9.      -
10.   The most significant feature added to Fortran I to get Fortran II is the independent compilation of subroutines.
11.   Character string handling, logical loop control statement and an if without an optional else clause were added to Fortran IV to get Fortran 77.
12.   Fortran 90 is the first version of Fortran which support dynamic variables.
13.   The first version of Fortran supporting character string handling is Fortran 77.
14.   Because they were concerned with natural language processing, when in 1950’s, there are only computers with computation based on numeric data in arrays.
15.   -
16.   Scheme is characterized by its small size and its exclusive use of static scoping, while Common LISP is characterized by its large and complex language, but has pure LISP basis and allowance to both static scoping and dynamic scoping.
17.   Scheme is mostly used for courses in functional programming.
18.   Association for Computing Machinery (ACM) and German acronym for Society for Applied Mathematics and Mechanics (GAMM) are the two companies which started to design ALGOL 60

B. Problem Set

1.      The significant feature on Fortran IV that will be a great influence on Java is the ability to pass subprograms as parameters to other subprograms. In Java, it is impossible to write stand-alone subprograms which cause it is hard to connect between subprograms.
2.      Short Code is capable of making multiplication without multiplication code needed, just put two operands side-by-side. Besides, it also uses pure interpreter to run itself. Comparing to a contemporary programmable hand calculator, surely Short Code will do the calculations slower than the calculator because Short Code uses interpreter. Short Code offers simpler syntax to do multiplication, however.
3.      -
4.      -
5.      I think to reach the efficiency of hand-coded program was quite hard at that time, because we only had computer with small memories in past. In computer with small memories, it was hard to create a fast compiler of hand-coded program, especially when the program is typed quite long, which obviously will consume the efficiency of time.
6.      -
7.      -
8.      -
9.      Because in that day, scientist often used the variable I,J,K to refer to their integer in their work in science. Moreover, Fortran was built for scientific application, therefore, in order to give more comforts to users (scientists), it allows those variables.
10.   The most important new developments of ALGOL 60 are:
a.      The concept of block structure was introduced
b.      Two different means of passing parameters to subprograms were allowed : pass by value and pass by name
c.      Procedures were allowed to be recursive
d.      Stack-dynamic arrays were allowed
11.   The assumption is correct because in that 1970’s, PL/I is widely used for both business and scientific applications although it suffers a lot in previous years and afterwards.
12.   A
13.   Because C was part of widely used UNIX operating system
14.   When we user typeless language, it requires us to be sharper in using the variables because all variable can contain different data types. At the same time, it also delivers simplicity of the code writing.
15.   Yes there are some nonprocedural languages other than Prolog, for example, Visual Basic, SQL.
16.   To some extent I agree to that argument, but to some extent, I also don’t agree. Too complex language is too hard to be written, that’s why there is higher possibility for a bug to occur. That’s why simple and small language is preferred. However, with complex language, it means other people are having hard time as well to understand the code which made the code to be safer to use.
17.   There is no language that can fulfills all requirements of its users, because in order to build that language, large number of memory is needed while today’s computer is not so advanced yet (although it is advancing). Furthermore, more and more needs of computer are appearing, which also means more and more requirements to be fulfilled by a language which never makes a language to be perfect.
18.   I think restriction in efficiency is important to language development. In any language development, building a more efficient language than before is crucial since it will consume less memory which will support the green computing as well. Furthermore, by having efficiency, it is lighter, so it will reach more users.
19.   -
20.   Features of Fortran :
a.      Supports dynamic arrays, records, pointers, multiple selection statement, modules
b.      String handling
c.      Capability of passing subprograms as parameters to other subprograms
d.      Forall construct iteration made
Features of C:
·        Supports dynamic pointers, multiple selection statement
·        String handling
·        Capability of passing subprograms as parameters to other subprograms
Features of BASIC:
·        Easy to learn
·        Small in size
·        Supports graphical user interface
21.   -
22.   -
23.   Lua certainly will attract more and more users to use it because it is now being used rapidly in gaming industry, which is very fast in development right now. Furthermore, it has great similarities with other famous languages, like Java, PHP, Scheme. Those similarities will make it to be more easy to be used from user with different background. In addition, although user who is going to use this language doesn’t have any background of programming language, this can be a good start point too because it has many same features with other languages.
24.   Because in today, scripting language, especially Javascript, is widely used in World Wide Web. As we can see today, internet has been a must need to every people to get information. To get advantage of this development, more and more scripting language is developed in order to fulfill user’s expectation, as well as to attract them to get more profits.
25.   Servlet is an instance of a Java class that resides on and is executed on a Web server system for form processing purpose and database access purpose. The execution of servlet is requested by a markup document displayed by Web browser. Then the request is processed by servlet container in the Web server. Lastly, the output of it is returned to the Web browser again. 

Answers of Concepts Programming Languages Chapter 1

A. Review Questions
1.      Because by studying programming design, he/she will get the following benefits :
a.      Increased capacity to express ideas
b.      Improved background for choosing appropriate language
c.      Increased ability to learn new languages
d.      Better understanding of the significance of implementation
e.      Better use of languages that are already known
f.       Overall advancement of computing
2.        -
3.      Fortran
4.      COBOL
5.      LISP
6.      C
7.      - 
8.      - 
9.      One of the example of orthogonality lack in C language is the expression of “a + b”, where a happens to be a pointer. When the addition wanted to be done, the value of b needs to be multiplied by 4 at first. Therefore, the type of a determines the treatment to b.
10.   Program which built based on orthogonality is ALGOL 68, although it causes unnecessary complexity because of the large number of orthogonalities it has.
11.    -
12.   In contemporary programming language design, we can find the abstraction support because abstraction is the key concept in that programming language design.
13.   A reliable program is a program which can performs to its specifications under all conditions.
14.   Because if we don’t type check the parameters in the subprogram, it will led to countless program error and the function/subprogram only will produce nonsense product.
15.   Aliasing is when we have two or more pointers pointing to the same address/memory cell.
16.   Exception handling is the facility included in programming languages to intercept run-time errors, take corrective measures, and continue the program.
17.   Programs that are difficult to read is also difficult to write and to modify
18.    -
19.   In the past 50 years, programming language design has been influenced by von Neumann architecture.
20.   The programming language used in von Neumann architecture is imperative languages.
21.   Two major programming language deficiencies identified in 1970’s were incompleteness of type checking and inadequacy of control statements.
22.   Three fundamental features of object-oriented programming are data abstraction, inheritance and dynamic method binding.
23.   The first object oriented programming program is Smalltalk.
24.   An example of two languages which in direct conflict with each other is between object-oriented programming and procedure-oriented programming.
25.   Three general methods of implementing programming language are compilation, pure interpretation, and hybrid implementation systems.
26.   Compiler does faster job in executing program because it will translate the whole code first and then compile it.
27.   Symbol table serves as a database for the compilation process in compiler. Symbol table contains the type and attribute information of each user-defined name in the program.
28.   Byte code provides the portability to any machine that has a byte code interpreter and an associated run-time system.
29.   Hybrid implementation system is the combination of compiler and interpreter. It translates the high-level language to an intermediate language designed to allow easy interpretation and then the source language statements are decoded once.
30.   By using Borland JBuilder, we have a complex and powerful system for creating Java software

B. Problem Set
1.    I don’t think that to solve a problem in a particular algorithmic step, we need to learn programming language because the key to solve the problem relies on our logic. Although we learned or not learned about any programming languages, but we have the understanding on the way to solve it and can think logically, the problem can be solved.
2.    The first programmer in human history is Ada Lovelace.
4.    Scientific applications concern about the efficiency of the program and there are also quite many applications designed for this purpose. While in business application, less application was made because it requires certain programming language, in this case is the COBOL language. In business application, the precision of the result is the main concern.
5.    In Artificial Intelligence (AI) application, it uses symbolic computations, where symbols are manipulated. It also requires more flexibility than other programming domains. While in web software, programming languages are not widely needed. Scripts and markup languages are the basic languages used in web software.
6.    I think simplicity of a programming language is the most important thing because by having simplicity in a language, it enhances the chance of a person to understand that language faster while more and more programming languages appear. By having great simplicity, more programmers will use that language and more people understand about the code written in that language.
7.    The advantages of using semicolon in Java: it enhances the readability of the program since it makes it clear where a statement ends. It also will make the programmer to adapt faster in other programming languages using this same feature, like C, C++, PHP, etc.
        The disadvantages of using semicolon in Java: it requires more check whether there is semicolon in the end of every statement. It also needs to differentiate between statement and not statement.
8.    Pros: it shortens the length of the codes needed especially for the processes needed repeatedly. It also will help in debugging when errors happen because the code has been separated.
        Cons: it requires more type-checking. It adds more complexity to the language. 

Tuesday, February 26, 2013

Link for C++ How to Program 7th Edition

I heard that people are finding 7th edition, rather than 8th one. Below I give the link :) Enjoy! :D
Click here !

Link for C++ How to Program 8th Edition

I found that many people searching for this book and luckily I found a link to download e-book of it.
Kindly click here if you want to download the e-book :)

Thursday, January 17, 2013

Answers of Chapter 15 "Discovering Computers 2011 : Living in a Digital World"


True/False
1. True
2. False
3. True
4. True
5. True
6. False
7. True
8. True
9. True
10. False

Multiple Choice
1.a
2.c
3.c
4.a
5.d
6.b
7.a
8.b

Matching
1.e
2.d
3.j
4.g
5.h
6.b
7.f
8.i
9.a
10.c

Short Answers
1. The advantage of attending trade school is time saving in learning something, because in trade school, they teach focusly on what you choose.
We should consider curricula, laboratory facilities, instructors, and the types of jobs the school's graduates have obtained, before attending the trade school.

2. Participating in professional growth and continuing study, we can get specific information of equipment, software, services, and issues affecting the computer industry.
The ways to keep knowing the growth of industry trends and technologies are professional organizations
and personal networks, professional growth and continuing education activities, computer publications and Web sites, and certification

3. The how-to when choosing certification :
(1) see again your career goals and interests
(2) assess your background knowledge and experiences
(3) find the best certification that suites you

The four options when preparing certification:
(1) self study : study by yourself using all medias available right now
(2) online trainning classes : allows users to interact and study in the online class using the Internet facility
(3) Instructor-led training : the training held by a instructor through different types of seminars, trainings
(4) web resources : study from the links given that will help you understand more about the material

4. The programmer/developer certification mainly focuses on the ability of the programmer to code / make a program. Other type of certification that may be beneficial too is in networking and Web design certification.

People who might interested in programmer/developer certification :
• Java programmers
• Mobile application developers
• Oracle database managers
• Programming consultants
• SQL programmers
• Web software developers
• XML developers

5. Hardware certifications test whether the candidates have the ability to repair certain hardware and also to identify the computing needs of a company while the at same time, introducing the solution for the needs.

People who might interested in programmer/developer certification:
• Cable installation technicians
• Computer repair technicians
• Corporate trainers
• Help desk specialists
• IT consultants
• System engineers and administrators

Answers of Chapter 14 "Discovering Computers 2011 : Living in a Digital World"


True/False
1. True
2. False
3. True
4. True
5. False
6. False
7. True
8. True
9. True
10. True

Multiple Choice

1.c
2.b
3.a
4.b
5.a
6.d
7.a
8.d


Matching
1.h
2.f
3.b
4.e
5.d
6.g
7.a
8.j
9.i
10.c


Short Answers
1. Managers's responsibilities are in coordinating and controlling the resources of an organization.
The activities done by manager to coordinate the resources of an organization : planning, organizing, leading, controlling.

2. CMS is an information system that combines databases, softwares, and procedures that allow users to access to many forms of files.
Types of content that may be processed by CMS : images, multimetida datas, security controls, metadata.

3. Server virtualization : can divide physical servers to many virtual servers, and storage virtualization : can combine many physical storage devices into single logical storage.
Cloud computing is a service using Internet to give computer needs to users. Grid computing is the networking, which combines many servers and/or PC into one large computer.

4. E-retail, finance, travel, health, and entertainment and health.
E-retail : occurs when users want to sell their product online. Health : websites providing up-to-date medicines, health information, exercises to the world. Travel : websites allowing users to know how-to reach certain places from their current place, or to book a flight.

5. Backup plan should contain the location of alternate computer facility in case of the organization's event normal location is destroyed.

The aspects contributing to the success of a backup plan : backing up all important resources, numbers of people trained in the backup and recovery procedures.

Wednesday, January 16, 2013

Answers of Chapter 13 "Discovering Computers 2011 : Living in a Digital World"

True/False
1. True
2. True
3. True
4. True
5. True
6. False
7. False
8. True
9. False
10. False

Multiple Choice

1.b
2.c
3.c
4.a
5.a
6.c
7.b
8.b


Matching
1.g
2.d
3.j
4.i
5.c
6.e
7.a
8.h
9.b
10.f

Short Answers
1. Compiler is a program that converts all source program to machine language before executes it. Interpreter is a program that converts a statement of a program to machine language before executes it.

Advantage of intepreter : when errors are found, it directly gives feedback to user. The disadvantage of it is that it runs slower than compiled progams.

2. The major benefit of OOP is that we can reuse and edit existing objects.
RAD enable users not to write the whole code for the whole program, instead, just by using the tools to create the objects of the program will give a great shortcut to the user in developing the program.

3. Integrated Development Environment includes tools for building graphical user interfaces, an editor for entering program code, a compiler and/or interpreter, and a debugger.
Visual Basic (VB) is used to create a complex task-oriented object-based system. Visual C++ is a programming languange which based on C++. Visual C# is a programming language that combines the C++ features, but with greater speed and efficiency.

4. XML is used to show different displays of certain websites on different devices, like PDA, tablets, smartphone, etc.
Two applications of XML are RSS 2.0 and ATOM. Both of them allow users to distribute their website's contents (either new or old ones) to their website's subscribers.

5. Two activities of documenting solution :  (1) review the program code : to see wheter there are still unused codes that are making the program running slowly.
(2) review all the documentation : programmer gives all documentation to system analyst.

Proper documentation is important because it will help the programmer easier to debug in future and also can help new programmer to understand the program faster.

Monday, January 14, 2013

Answers of Chapter 12 "Discovering Computers : Living in a Digital World"

True/False
1. True
2. True
3. False
4. False
5. False
6. True
7. False
8. False
9. True
10. True
11. False

Multiple Choice
1.a
2.b
3.c
4.a
5.c
6.d
7.a
8.d


Matching
1.h
2.e
3.a
4.b
5.i
6.g
7.f
8.j
9.c
10.k

Short Answers
1. System development is the activities creating an information system.
The five phases of system development life cycle (SDLC):
- Planning : plan all things that are going to be used in the information system development
- Analysis : analyze the current system that needs development
- Design : find the hardwares and softwares needed
- Implementation : design new program or better program and train users
- Operation, Support, and Security : keep maintenancing the program

2. The four feasibilities assessment :
- operational feasibility : determines how well the system will work
- schedule feasibility : determines whether the deadline of the system is logical
- technical feasibility : determines the company has the ability to use that system
- economic feasibility : determines whether the system will return greater benefits that its cost

To gather data and information, we can review documentation, observe, survey, interview, participate in joint-application design ( JAD) sessions, and research.

3. UML has been used as the standard for object modelling and development in big companies.
A use case diagram shows how users interact with the system, while class diagram shows the system into classes and sub-classes

4. Those three major activities of operation, support, and security phase : (1) perform maintenance activities, (2) monitor system performance, and (3) assess system security.
Three types of maintenance :
- corrective maintenance : corrects the wrong sector of the information system
- adaptive maintenance : includes new features to the system
- perfective maintenance :  investigates and makes the system more flexible and reliable

5. Computer security plan is the safeguard to protects all the important information of a company.
Three things that a computer security plan should do :
- identify all information assets of an organization
- identify all security risks
- identify all safeguard solutions for each security risk

Answers of Chapter 11 "Discovering Computers 2011 : Living in a Digital World"

True/False
1. False
2. True
3. False
4. True
5. False
6. True
7. True
8. True
9. True
10. False
11. True
12. True

Multiple Choice
1.b
2.d
3.a
4.c
5.c
6.d
7.d
8.c


Matching
1.j
2.d
3.e
4.g
5.i
6.c
7.b
8.a
9.h
10.f

Short Answers
1. Antivirus protects the computer by identifying and deleting viruses in all storage of the computer.
Virus hoax is the e-mail that tries to tell unexisted virus to the recipients.

2. Energy Star is a program that creates the concept of energy-efficient computing, which when computers are not in use, they should not consume many electricity by turning it to sleep mode or other modes.
Users should not store obsolete computers in their house, instead, they can send itu to manufactures to reuse those computers to create furnitures.

3. Information privacy is the rights of the individuals or companies to restrict the use of their information.
To protect our information, we can use : encryption, digital certificates, transport layer security, secure HTTP, and VPN.

4. By using phishing filter and not clicking on phishing emails.
Clickjacking happens when users click on an object in the web, like buttons, images, then it will generates some events that is not beneficial to users.

5. Companies and schools use content filtering.
The rating of content filtering works on whether certain website passes the limits or not. If it has not passed the limit, it still can be shown to users. This facility applied in Yahoo!, AOL, etc. Another rating is through the Web filtering software that creates firewall to computers for the content filtering.