Chapter 6 : Review Question

1. What is a descriptor?

= Descriptor is the collection of the attributes of a variable.

2. What are the advantages and disadvantages of decimal data types?

= The advantages of decimal data types is being able to precisely store decimal values, at least those within a restricted range, which can’t be done with floating-point. And the disadvantages of decimal data types are that the range of values is restricted because no exponents are allowed, and their representation in memory is mildly wasteful.

3. What are the dessign issues for character string types?

= The two most important design issues that are specific to character string types are the following :

- Should strings be simply a special kind of character array or a primitive type?

- Should strings have static or dynamic length?

4. Describe the three string length options.

= – Static length string: the length can be static and set when the string is created.
– Limited dynamic length strings: allow strings to have varying length up to a declared and fixed maximum set by the variable’s definition.
– Dynamic length strings: allow strings to have varying length with no maximum.

5. Define ordinal, enumeration, and subrange types.

= – Ordinal type is one in which the age of possible values can be easily associated with the set of positive integers. In Java, for example, the primitive ordinal types are integer, char, and Boolean.
– Enumeration and subrange are the two user-defined ordinal type that have been supported by the programming languages.
– Enumeration type is one in which all of the possible values, which are named constants, are provided, or enumerated, in the definition. Enumeration types provide a way of defining and grouping collections of named constants, which are called enumeration constants.
– Subrange type is a contiguous subsequence of an ordinal type.

Chapter 6 : Problem Set

1. What are the arguments for and against representing Boolean values as single bits in memory?

= Boolean variables stored as single bits are very space efficient, but on most computers access to them is slower than if they were stored as bytes.

2. How does a decimal value waste memory space?

= Decimal types are stored very much like character strings, using binary codes for the decimal digits. These representations are called binary coded decimal (BCD). In some cases, they are stored one digit per byte, but in others, they are packed two digits per byte. Either way, they take more storage than binary representations. It takes at least four bits to code a decimal digit. Therefore, to store a six-digit coded decimal number requires 24 bits of memory. However, it takes only 20 bits to store the same number in binary.

3. VAX minicomputers use a format for floating-point numbers that is not the same as the IEEE standard. What is this format, and why was it chosen by the designer of the VAX computers? , A reference for VAX floating-point representation is Sebesta (1991).

= The existing DEC VAX formats, inherited from the PDP-11, because The PDP-11 had several uniquely innovative features, and was easier to program than its predecessors through the additional general-purpose registers.

4.Compare the tombstone and lock-and-key methods of avoiding dangling pointers, from the point of view of safety and implementation cost.

= Tombstones take more memory, while lock-&-key requires add’l cpu time on each ptr assignment to copy key as well as pointer. Pointer arithmetic could overwrite key in the heap.

5. What disadvantage are there in implicit dereferencing of pointers, but only in certain contexts? For example, consider the implicit dereference of a pointer to a record in Ada when it is used to reference a record field.

= When implicit dereferencing of pointers occurs only in certain contexts, it makes the language slightly less orthogonal. The context of the reference to the pointer determines its meaning. This detracts from the readability of the language and makes it slightly more difficult to learn.

Review Question

1. What are the design issues for names?

The design issues for names, primarily, are “names case sensitive?” and ?are the special words of the language reserved words or keywords?”

2. What is the potential danger of case-sensitive names?

There are 2 potential danger of case-sensitive names which are the writability and readability due to the characteristics of the names which look alike where it’s actually different.

3. In what way are reserved words better than keywords?

Reserved words are better due to it’s ability to redefine meanings. Keywords can be rather confusing due to the fact that it may contain multiple intentions.

4. What is an alias?

In reality, alias is another name of something. In this case, the position where a variable can be used to access the same memory location like another variables. This way, the variables that also have access is called an alias.

5. Which category of C++ reference variables is always aliases?

Union types.

Problem Set

1. Which of the following identifier forms is most readable? Support your decision.

- SumOfSales

- sum_of_sales


sum_of_sales because in this identifier, sentence are properly spaced (” “) with “_” therefore making the identifier more readable for most people. It also defines the exact meaning of the function and also does not confuses reader.

2. Some programming languages are typeless. What are the obvious advantages and disadvantage of having no types in language?

Advantage : Being a typeless language makes it easier for programmer to code or write sloppy programs quickly without the need of proper definiton.

Disadvantage :

- The compiler has its own control over data and variables. Programmers may left clueless due to the fact that they have no control.

- Mis-assigning variables will not lead to an error and the compiler will not catch your mistake. It will simply do as it is told to do event if it is wrong.

- It will be harder to determine the true intention of the programmer. Therefore, supporting such programs (created in type-less language) is basically harder the types one.

3. Write a simple assignment statement with one arithmetic operator in some language you know. For each component of the statement, list the various bindings that are required to determine the semantics when the statement is executed. For each binding, indicate the binding time used for the language

= (C++)

int count;count = count + 5;

Possible types for count: set at language design time. Type of count: bound at compile time.
Set of possible values of count: bound at compiler design time. Value of count: bound at execution time with this statement. Set of possible meanings for the operator symbol ““:*bound at language definition time.*Meaning of the operator symbol “” in this statement: bound at compile time.
Internal representation of the literal “5”: bound at compiler design time.

4. Dynamic type binding is closely related to implicit heap-dynamic variables. Explain this relationship.

The two are closely related to assignment and statement.

5. Describe a situation when a history-sensitive variable in a subprogram is useful.

History sensitive variables will help a lot in data manipulation. The function will be able to be called again after operations are performed on a variable, it exits. It will simply return the variable so the function doesn’t have to take the variable in as a parameter.

Review Question:

1.  What are three reasons why syntax analyzers are based on grammars?

-Using BNF descriptions of the syntax of programs are clear and concise.

-Can be used as the direct basis for the syntax analyzer.

-Implementations based on BNF are relatively easy to maintain because of their modularity.

2. Explain three reasons why lexical analysis is separated from syntax analysis.

-       Simplicity (Techniques for lexical analysis are less complex than those required for syntax analysis)

-       Efficiency (Although it pays to optimize the lexical analyzer, because lexical analysis requires a significant portion of total compilation time)

-       Portability (Because the lexical analyzer reads input program files and often includes buffering of that input, it is somewhat platform dependent)

3. Define lexeme and token.

Lexeme is the logical groupings that the lexical analyzer collects characters into and Token is the internal codes for categories of these groupings.

5. Describe briefly the three approaches to building a lexical analyzer.

-       Write a formal description of the token patterns of the language using a descriptive language related to regular expression.

-       Design a state transition diagram that describes the token patterns of the language and write a program that implements the diagram.

-       Design a state transition diagram that describes the token patterns of the language and hand-construct a table-driven implementation of the state diagram.


1. Perform the pairwise disjointness test for the following grammar rules.

a. A → aB | b | cBB
b. B → aB | bA | aBb
c. A → aaA | b | caB

(a) FIRST(aB) = {a}, FIRST(b) = {b}, FIRST(cBB) = {c}, Passes the test

(b) FIRST(aB) = {a}, FIRST(bA) = {b}, FIRST(aBb) = {a}, Fails the test

(c) FIRST(aaA) = {a}, FIRST(b) = {b}, FIRST(caB) = {c}, Passes the test

3. Show a trace of the recursive descent parser given in Section 4.4.1 for the string a + b * c.

a + b * c
Call lex /* returns a */
Enter <expr>
Enter <term>
Enter <factor>
Call lex /* returns + */
Exit <factor>
Exit <term>
Call lex /* returns b */
Enter <term>
Enter <factor>
Call lex /* returns * */
Exit <factor>
Call lex /* returns c */
Enter <factor>
Call lex /* returns end-of-input */
Exit <factor>
Exit <term>
Exit <expr>

5. Given the following grammar and the right sentential form, draw a parse tree and show the phrases and simple phrases, as well as the handle.

S → aAb | bBa  A → ab | aAb  B → aB | b

a. aaAbb

b. bBab

c. aaAbBb

Screen Shot 2013-03-27 at 6.20.39 PM
Screen Shot 2013-03-27 at 6.21.01 PM

Review Question

1. Define syntax and semantics

Syntax is form of expressions, statements and program units in a programming language. Semantics is the meaning of the expressions, statements and program units in a programming language.

2. Who are language descriptions for?

Language descriptions are for initial evaluators, implementors, and users.

3. Describe the operation of a general language generator.

-Language generators create the strings of a Language. Generators are string constructors. A generator provides a construction description. If a generator is able to construct all strings in a Language L, and every string S that can be constructed by that generator is in L, we can say that the generator is for the Language L. If the generator cannot construct a string S from it, then S is not in L.

4. Describe the operations of a general language recognizer

A general language recognizer is a recognition device capable of reading strings of characters from the alphabet. It would analyze the given string and it would either accept or reject the string based from the language given. These recognition devices are like filters separating correct sentences from those that are incorrectly.A recognizer is used in the syntax analysis part of the compiler. In this role, the recognizer need not test all possible strings of characters from some set to determine whether each is in the language. The syntax analyzer just determines whether the given programs are syntactically correct.

5. What is the difference between a sentence and a sentential form?

A sentence is a sentential form that has only terminal symbols. A sentential form is every string of symbols in the derivation.

Problem Set.

1. The two mathematical models of language description are generation and recognition. Describe how each can define the syntax of a programming language.

= syntax error refers to an error in the syntax of a sequence of which is written in a particular programming language.
Semantic Error: it is a logical error. it is due to wrong logical statements

2. Write EBNF descriptions for the following:a.

A. Java class definition header statement

= <class_head> ® {<modifier>} class <id> [extends class_name] [implements<interface_name> {, <interface_name>}] <modifier> ® public | abstract | final<class_head> ® {<modifier>} class <id> [extendsclass_name] [implements<interface_name> {, <interface_name>}] <modifier> ® public | abstract | final

B. A Java method call statement

= <for> -> for ‘(‘ [[<type>] <id> = <expr> {, [<type>] <id> = <expr>}] ; [<expr>] ; [<expr>{, <expr>}] ‘)’ ‘{‘ <stmt_list> ‘}’

C. A C switch statement

= <stmt>    ->   switch ( <int expr> ) {

case <int const> :  { <stmt> ; }

{ case <int const> :  { <stmt> ; }}

[ default :  { <stmt>  ;  } ]


D. A C union definition

= <union_defn> -> union <var_list> <union_identifier>;

<var_list> -> <list_of_data-type specifier> <var>

<list_of_data-type specifier> -> int | float | long |char | double

<union_identifier> -> <var>

E. C float literals

= <float-literal> –>   <real> <suffix>

| <real> <exponent> <suffix>

| <integer> <exponent> <suffix>

3. Rewrite the BNF of Example 3.4 to give + precedence over * and force + to be right associative.

= <assign> -> <id> = <expr>

<id> -> A | B | C

<expr> -> <expr> – <term>

| <term>

<term> -> <term> / <factor>

| <factor>

<factor> -> ( <expr> )

| <id>

4. Rewrite the BNF of Example 3.4 to add the ++ and — unary operators of Java.

= <assign> -> <id> = <expr>

<id> -> A | B | C

<expr> += <term>

| <term>

<term> *= <factor>

| <factor>

<factor> -> ( <expr> )

| <id>

5. Write a BNF description of the Boolean expressions of Java, including the three operators &&, ||, and ! and the relational expressions.

= <Boolean_expr> → <Boolean_expression> ||<Boolean_term> | <Boolean_term>

<Boolean_term> → <Boolean_term> && <Boolean_factor> | <Boolean_factor>
<Boolean_factor> → id | ! <Boolean_factor> | (<Boolean_expr>) | <relation_expr>
<relation_expr> → id == id | id !=id | id < id | id <= id| id >= id | id > id

Review Question

1. In what year was Plankalkül designed? In what year was that design published?

Plankalkül was designed by Konrad Zuse in 1945 but it isn’t published until 1972.

2. What two common data structures were included in Plankalkül?

arrays and records

3. How were the pseudo codes of the early 1950s implemented?

They were implemented through machine codes.

4. Speedcoding was invented to overcome two significant shortcomings of the computer hardware of the early 1950s. What were they?

The two significant shortcomings of the computer hardware are Pseudo-instructions and novel facility of automatically incrementing address registers.

5. Why was the slowness of interpretation of programs acceptable in the early 1950s?

The lack of floating-point hardware in the available computers.

Problem Set

1. What features of Plankalkül do you think would have had the greatest influence on Fortran 0 if the Fortran designers had been familiar with Plankalkül?

The loop feature control statement and the selection (if/else) statement

2. Determine the capabilities of Backus’s 701 Speedcoding system, and compare them with those of a contemporary programmable hand calculator.

The capabilities of Backus’s 701 Speedcoding system :
- As few instructions as possible should be required to specify a program. Programming time should be minimized.
- Programs should be easy to check out.
- Scaling should be unnecessary.
- Address modification should be made very convenient.
- Transfer of arbitrary blocks of information to and from high-speed storage should be easy to specify.
- Common functions should be readily available.
- Optional automatic checking of calculations should be provided.

3. Write a short history of the A-0, A-1, and A-2 systems designed by Grace Hopper and her associates.

A-0 was the first compiler ever developed for an electronic computer. The A-0 system was followed by the A-1, A-2, A-3, AT-3 and B-0. The A-2 system was developed at the UNIVAC division of Remington Rand in 1953 and released to customers by the end of that year. Grace Hopper is a hero.

4. As a research project, compare the facilities of Fortran 0 with those of the Laning and Zierler system.

The effect of the Laning and Zierler system on the development of Fortran is a question which has been muddled by many misstatements on my part. I believed that we had gotten the idea for using algebraic notation in Fortran from seeing a demonstration of Laning and Zierler system at MIT.

5. Which of the three original goals of the ALGOL design committee, in your opinion, was most difficult to achieve at that time?

a reference syntax, a publication syntax, and an implementation syntax.

Hellooo everyone, in my first day of uni life, the lecturer of this class, Tri Djoko Wahjono, Ir.,M.Sc. , ask us to post our project on our blog. Not an easy job for me since my english is really not good and i’m used to use slang and shortened english =_=

Anyway, the questions are taken from Robert W. Sebesta’s book named CONCEPTS OF PROGRAMMING LANGUAGES. Hope i can answer these questions correctly and properly +_+! And since i’m really new to things called programming i might google the answer and give my opinion and conclusion on what i found :D

Okay .. The first 5 questions are taken from the REVIEW QUESTION:

1. Why is it useful for a programmer to have some background in language design, even though he or she may never actually design a programming language?

In the textbook, reasons to learn language designs are to:
• Increased capacity to express ideas.
• Improved background for choosing appropriate languages.
• Increased ability to learn new languages.
• Better understanding of the significance of implementation.
• Better use of languages that are already known.
• Overall advancement of computing.

In my opinion,
A background in language design gives a programmer insight into how a compiler works, and gives the programmer ability to understand how to optimise the compilers. Even though they will never actually design a programming language, but maybe only work as a programmer who take care of a program, they still need to know the language design (Which has many type of language in programming like Java, C, C++, C#, etc) especially the basic one, in order to understand. Like, if suddenly the program got problem, they can easily understand the issues and solve it fast using efficient code (because every programming language has it own purpose so choosing the correct language can make us work more efficient and fast).

2. How can knowledge of programming language characteristics benefit the whole computing community?
Of course if we only know 1 programming language, our ideas are limited compared if we know 5 programming language. Working in community will also require us to be flexible (Who knows our community suddenly want to use which programming language and suddenly only us who don’t know the language).

By knowing programming language characteristics also help us to identify the issue easier and allow us to choose which programming language is more suitable for which issue.

3. What programming language has dominated scientific computing over the past 50 years?
FORTRAN. For some scientific applications where the important thing is efficiency, no subsequent language is significantly better than Fortran, which is why nowadays FORTRAN is still used.

4. What programming language has dominated business applications over the past 50 years?
COBOL. COBOL was the first successful high-level language for business. And it is still being developed until now. COBOL has facilities for producing elaborate reports, precise ways of describing and storing decimal numbers and character data, and the ability to specify decimal arithmetic operations.

5. What programming language has dominated artificial intelligence over the past 50 years?
LISP. Its the first programming language for artificial intelligence


1. Do you believe our capacity for abstract thought is influenced by our language skills? Support your opinion.

From the textbook, abstraction means the ability to define and then use complicated structures or operations in ways that allow many of the details to be ignored. Abstraction is a key concept in contemporary programming language design.The degree of abstraction allowed by a program- ming language and the naturalness of its expression are therefore important to its writability. Programming languages can support two distinct categories of abstraction, process and data.

And in my opinion, i do believe our capacity for abstract thought is influenced by our language skills because when you learned some programming languages, it will help you to improve your brain capacity for abstract thought naturally, because we can’t learn programming languages without using our capacity for abstract thought.

2. What are some features of specific programming languages you know whose rationales are a mystery to you?

Since i’m new to programming field and just started to learn C language, almost all C language features still are mystery for me.

3. What arguments can you make for the idea of a single language for all programming domains?

The idea of using a single language for all programming domains is not effective. Why? Because each of programming language has its own purpose of making so maybe domain A will be more effective if we use C language while domain B is more suitable to use Java. I think its possible for us to make any programming domains only by using a single language but the level of complexity will be higher. Not all features are available in one programming language, which we will find it hard if we need that features in some programming domains. For example, if we use LISP (for Artificial intelligence) to make business application, sure hard.

4. What arguments can you make against the idea of a single language for all programming domains?

(same question and same answer with number 3)

5. Name and explain another criterion by which languages can be judged (in addition to those discussed in this chapter).

The lenght of the words that is needed (or syntax) to make one features. For example that i found on google is COBOL, they called it wordy because it needs many words and declarations just for making a simple program. This, have many disadvantages like hard to read, bigger size of programs, and takes times to create the program.

Thats all for this first task, thankyou ^_^
Kesia Anastashella / 1801436713 / LC02

{January 8, 2014}   Java Jazz ?!

So last saturday suddenly my vocal teacher ask me to join the perform on java jazz

my first reaction was, “HUH?!”

so chosen student will perform there. 

i didn’t really know what java jazz is, all i know it’s for pro singer and entertainer to perform D: i say, omg God I’m not capable to do this. My voice is not that good to perform there. Kinda scared but excited and happy. Another chance! Now i see it all, God let me handle the small and give me another bigger chance to perform :) Thanks God.

But still, I’m scared. Tho everyone say that i am capable and this is a good chance. Well, i know there’ll always be a first time for everything. I really hope i didn’t messed up my performance there. 

{December 9, 2013}   Honor God’s Voice Above All

my problem: I keep asking people. Friends and families, about my solo performance at a mall this Sunday. I keep asking them if it’ll be bad to sing alone and play guitar as the only instrument while my other friend sing along with band. Not just that, i really really really don’t have any confidence to sing there. Why? because the other singer are far better than me. I think that i might be a failure between those performances. I’m afraid there will be no hands clapping for me while the other get them. Or maybe when i sing everyone leave but when the other singer sing it started to be crowded.

I ask God why He gave me a chance but i’m not ready yet. I mean, i feel worst. Then He said “When you didn’t have the chance to perform, you ask Me to give you a chance to show you that you can. Now when I give you the chance why you question me back? If I gave you a chance to perform then I know that you can. I would never let you handle things you’re not capable of.”

I know that’s an answer towards my questions. But.. It’s just, i can’t convince my self to stop worrying this thing.

Today, again, God speaks through Joyce’s daily devotional:

“Blessed is the man who believes in, trust in, and relies on the Lord, and whose hope and confidence the Lord is.”-—Jeremiah 17:7

One attitude that welcomes the presence of God into our lives is the attitude that honours Him above everyone and everything else. Our attitude need to say, “God, no matter what anyone else tells me, no matter what i think myself, no matter what my own plan is, if i clearly hear You say something and i know it’s You, i will honour You and honour what You say above everything else.”

Sometimes we give more consideration to what people tell us that to what God says. If we pray diligently and hear from God, and then start asking people around us what they think, we honour their human opinions above God’s. Such an attitude will prevent our being able to consistently hear God’s voice. If we are ever going to develop an ability to hear from God and be led by His Spirit as a way of life, we have to stop listening to so many opinions from so many people and begin trusting the wisdom God deposits in our hearts. There is a time to receive good counsel, but needing the approval of people will keep us out of the will of God.

The devil wants us to think we are not capable of hearing from God, but God’s word says that is not true. The Holy Spirit dwells inside of us because God wants us to be led by the Spirit in a personal way and to hear His voice for ourselves as He leads and guides us.

In the verse for today, God says we will be blessed when we look to Him. According to Jeremiah 17:5-6, severe consequences come to those who trust in the frailty of mere men and women, but blessed are those who trust in and honour the Lord.  Good things happen if we listen to God. He wants to be our strength and we must honour His Word above all else. 

Hear what others have to say, but listen to God.


God remind me about my purpose. What is my real purpose? Is it to seek popularity? It’s not good to have hidden ambition. “You sing for Me, so why you should bother what other would react? Put your confidence in Me, and you shall worry nothing.”

Well, thanks God! Everyday has it own lesson to be learned. 

{December 9, 2013}   Determined People Succeed

my question to God  : “Why there are people who easily rise and be popular without any hard work? It’s like the chances and luck are upon that person for the rest of his/her life. Why i can’t be that person? Why is it hard for me to achieve my dream?”

Yesterday, by Joyce Meyer’s taught me not to trouble my mind about where God leads me. Joyce said that many people who are called “shooting stars”, or people who quickly rise to the top of their profession without going through all the difficult early days, don’t last long. And i started like, “oh yeahh this might be the answer!” then i continue to read it. Here some of the words that hits me.

“Character is developed during difficult times. Our call and desires are tested when we are told no time after time and still remain determined. Only determined people succeed. Just because we take a step of faith doesn’t mean that we will avoid the rest of the process. God usually builds slow and solid, not fast and fragile.”



{November 30, 2013}   God Provide Me
Hai :) kali ini gw mw banyak cerita tentang perjalanan musik gw. Jujur, gw amazed bgt kalo inget bahwa cerita ini udah disusun sama Tuhan dari awal mulanya.. 

Dari gw kecil ternyata gw emang udah demen banget bikin lagu, tapi telat nyadarnya. Baru nyadar pas SMP 3, pertama kalinya bikin lagu komplit buat ujian praktek :) 

Oke, dari awal. Sejak gw umur 3 tahun nyokap udah sediain keyboard karena dia pengen gw pinter main musik. Gw sempet diles-in selama 3 bulan dan setelah berenti gw dibeliin buku dan latihan sendiri dirumah. Tapi begitu menginjak SMP, gw tertarik sama gitar yang dikeluarin dari gudang. Bau apek, bunyi jelek, gitarnya juga jelek. Tapi dari gitar itu lah gw belajar banyak tentang cara dan teknik bermain gitar.
Taon berikutnya gw dibeliin gitar baru sebagai hadiah ultah. Dan taon berikutnya lagi tiba2 menang undian Rinso dan dapet sejumlah uang. Gw tambahin ke uang tabungan dan gw beli gitar string :) 
Pas SMP, gw sempet bertanya ke Tuhan. Tuhan, kenapa aku dari kecil mau les ini itu ngga pernah dikasih. Gw inget dari kecil gw pengen les gambar, les vokal, les gitar, les jepang, itu semua gw ga pernah dikasih. Sedangkan gw liat temen2 gw di provide sm ortunya. Gw sedih, kadang gw sampe nangis. Apa mimpi gw itu bakal jadi sia2. Tapi mak gw selalu ingetin, kalo emang Tuhan mau berkatin gw, Tuhan pasti punya cara dan waktunya sendiri. Bener aja, pas SMA tiba2 ii gw nawarin gw les jepang. Gw dibayarin 100% full. Itu bener2 bikin gw kaget. 
Lalu pas lulus SMP, gw dibeliin itouch. Emang udah rencananya Tuhan gw pny itouch karena dari itouch lah gw kenal garage band. Gw diajarin cara pakenya sama k’oni, kk gereja gw. Gw mulai aransemen lagu gw. 
Pas SMA, gw envy banget liat org pake mac, karena waktu itu kelas SMA 2 itouch gw udah mulai rusak dan ketika gw liat garageband di mac, kece pake banget banget. Waktu itu gw emang bener2 niat banget dalemin music production. Sampe2 univ pun mau ambil jurusan itu (yang tentunya ditentang abis2an sama ortu)
Gw utarain keinginan gw buat punya mac.. Ortu keberatan. Belum kepakai, kemahalan, buat apa kayak bakal jadi artis aja, dan sebagainya. Gw kecewa sebenernya, cuman gw selalu confess kata2 ini kalo gw lg ngedown. 
“Kalo emang Tuhan mau gw mendalami dan berkembang di bidang ini, Tuhan pasti akan provide gw dengan cara apapun. God will provide me”
Selang berapa bulan gw mulai kenal sama alat2 recording. Satu kata, MAHAL. Karena emang sampe titik itu keuangan belum stabil jadi ketika gw utarain pun respon ortu masih sama.. Disaat itu gw sedih, gw merasa passion gw bener2 100% disana tapi kenapa rasanya ngga di support. Dilain sisi gw ngerti emang mahal sih.. Yasudah, gw pikir, gw tetep confess kata2 diatas.
Gw pendam cita2 gw, dan gw absen main gitar berbulan2. Karena ngga ada itouch buat edit lagu…
Waktu liburan naik SMA 3, suatu hari tb2 dede ngajak minum starbucks dan gw ngga tau kenapa jawab PV pas ditanya mau dimana. Sejem-an kita sekeluarga nongkrong dan pas mau pulang lewatin toko reseller apple. 
Cicilan 0% 12 bulan
…miracle starts here, mak gw nanya apakah gw mau beli mac itu? Gw bilang, duit aku blm cukup. Cuman ada 1/3 nya di tabungan. Dan mak gw setuju nambahin sisanya. PRAISE THE LORD gw sampe gemeteran pas beli macnya. Sampe dirumah gw masih speechless dan cuman bisa pelototin itu mac sambil berusaha bangun dari mimpi yang sebenernya bukan mimpi. Seneng bukan main.
 Beberapa bulan setelah dibeliin mac, dede gw masuk les vokal. Pas nganterin hari pertama dia les, ada 2 guru les musik juga yang tiba2 keluar dari kelasGimana ceritanya ngga tahu, tapi kita jadi ngobrol2 (Kata mereka, kebetulan banget murid mereka berdua ngga dateng makanya bisa ngobrol) dan gw disuru nunjukin lagu2 bikinan gw. Setelah terbang gara2 dipuji2 gw ditawarin free trial sama mereka. Hasilnya, 
“anak ibu ngga bisa masuk yang reguler lagi”
Gw pikir gw jelek banget suaranya……..ternyata katanya gw direkomen langsung masuk kelas yang artis. Seneng sih dipuji terus seharian, cuman sepintas gw mikir, ah mungkin biar gw les disana aja kali. (Btw, yang direkomen buat ngajar gw itu couchnya indonesian idol, x factor, dsb). Tapi sayangnya ngga ada jadwal. Katanya sih ntar dicariin. Sedih sbenernya, dan excited juga karena pertama kalinya setelah dari kecil pengen, ada kesempatan buat les vokal..
1 mgg yang lalu, hari minggu gw ketemu K’oni. Gw nanya banyak hal tentang garage band dan bikin lagu, dan pulangnya gw ngmg ke bokap. Kalo gw butuh mic karena tiap kali gw rekam blabla, butuh midi blabla headphone monitor blabla. TANPA berharap sama skali bakal dibeliin mengingat respon terakhir bokap gw adalah absolut GAK
Bokap: “Yauda, hadiah ultah kamu aja. Mau? Kamu butuh apa aja? Cari aja”
lakjsdfalskdjfasdfkjas;dlfkasdfjasdlfkja sWHAAAAAAAT
Gw. bener2. speechless. Bahkan setelah gw bilang harga kira2 bisa sekian juta, bokap gw mengijinkan. Atur aja. 
Ngga sampe disitu, 6 hari setelah itu, nyokap ditelpon sama bagian admin les vokal yang waktu itu. “ini ada jadwalnya jam sekian, mau ngga?” Nah kan ada 2 tipe les. Yang artis sama kelas hobi. Yang artis mahal banget dan emang dipersiapkan jadi artis jd gw milih kelas hobi aja deh…takut ngambil yang ono mahal banget. Gw telpon dong bokap, minta ijin.. karena harganya ngga murah.. dan sekali ambil 6 bulan. Degdegan, takut ngga dikasih kalo dia denger harganya. 
 “atur aja yang penting jadwal kamu ngga bentrok” dan emang tepat banget jadwalnya sekalian mak gw ke gereja dia (karena les nya emang di gereja dia). God is amazing. 
Belom selesai, dari sana gw ke satu institute di jakarta. Lagi ada open house dan gw berencana mau masuk kesana buat ambil short course music production, dan lagi2 Tuhan bekerja. Ada disc masuk sana dan ajaib bokap gw langsung suruh daftar..
Baru kemaren nyokap bilang, “Kes, Tuhan itu sayang banget loh sama kamu, kamu mau apaa aja selalu dipenuhi walaupun ngga langsung. Dan selalu surprise. Kamu mau baju warna warni, bisa ada yang ngasih satu kantong cocok semua. Kamu mau les jepang, bisa ii mau bayarin. Kamu butuh mac, bisa mami pas ada duit. Butuh set recording papi bisa mau beliin tiba2. Tuhan bener2 sayang sama kamu” dan hari ini, gw daftar les vokal dan les music production gw yang selama ini gw impikan sejak kecil.. 
Sedangkan emang blkgn ini gw lagi ngedown. Gw emang sering banget ragu sama diri gw apakah gw punya skill yang cukup? Apakah gw emang talented? Gw sering frustasi kalo bikin lagu. Kenapa orang2 yang baru pertama kali bikin bisa banyak yang langsung bagus, viewer ribuan dsb. 
Dan tadi, mak gw cerita satu hal yang bikin gw (kepengen) nangis ditempat. Ngga tau kenapa tapi gw terharu banget waktu denger, resepsionisnya ngmg ke nyokap. Kalo sampe emang guru les yang jadi couch di berbagai tempat itu ngga ad waktu buat handle gw, guru les musik yang pernah ngasih free trial buat gw, mau turun tangan buat ngajarin gw.  Gw kaget, dia masih inget gw. Bahkan ternyata dia yang maksa si couch ini buat sediain waktu buat gw. 
Gimana Tuhan ngga atur semuanya? tanggal 15 gw diminta untuk perform di sebuah mall buat open house sekolah. (emang.. suara gw dibanding temen2 yang maju juga ntar, kalah jauh.. ) cuman mgg depan gw mulai les vokal dan gw bisa persiapin buat ntar. 
Gw ngga bisa ngmg apa2 slain thankyou God.. Ternyata Tuhan ngga lupa sama mimpi gw dari dulu.. Gw baru sadar blkgn ini bokap gw dapet banyak opportunity buat dapet penghasilan banyak mendadak, itu bagian dari rencana Tuhan buat kasi gw hal2 yang tadi mendadak gw dapetin..
Gw cuman bisa nangis mikirin semua hal yang Tuhan kasih ke gw. Tuhan bener2 provide semua yang gw butuhkan. Dan hal2 ini bikin gw makin yakin sama langkah2 gw kedepan. Mungkin skill gw kalah jauh kalo dibandingin orang2 lain, tapi gw percaya Tuhan punya rencana dan agenda nya sendiri. 
Thankyou God, Thankyou Dad, Really really thank you. 

et cetera

Get every new post delivered to your Inbox.

Join 349 other followers