As we learned from Lesson 4, Indonesian has no tenses. In order to express idea in different time frame, we need to attach time signals, such as "yesterday", "tomorrow", "this morning", etc. These time signals are very easy to learn.
When you say a sentence without any time signal, we can never be sure what time frame it is assumed to be, if it is taken out of context. For example:
Saya makan apel.
The general translation would be in present tense: I eat apple. However, it depends on the speaker on what it means. It may also mean progressive tense. The speaker may be eating an apple as he/she speaks.
Also, you can incorporate as many time signals as you want to express more specific ideas, as long as the addition doesn't contradict the existing ones and follows the "general rule of thumb". This is especially useful since Indonesian has no notion of complex grammar such as future perfect.
To express habitual activity, we use present tense. In English, we use the form of infinitive + (-s/-es). In Indonesian, we use the time signal setiap X, where X can be subtituted with hari, pagi, siang, malam, minggu, etc to denote that the activity is recurrent.
Saya makan apel setiap pagi. (I eat [an] apple(s) every morning)
Remember that when you mention a noun, it is uncertain whether it is singular or plural, as discussed here. The assumption is always singular, but it can still mean plurals.
Here's a helpful word signals appropriate for present tenses:
- Setiap hari = Everyday
- Setiap kali = Every time
- Setiap pagi = Every morning
- Setiap siang = Every (around) noon
- Setiap sore = Every afternoon (but before sunset)
- Setiap malam = Every night
- Setiap minggu = Every week
- Setiap bulan = Every month
- Setiap tahun = Every year
Note: The word setiap may be shortened as tiap. Both are acceptable in formal written/spoken Indonesian.
To indicate that the action is a habit, you can put the word biasa right before the verb:
- Saya biasa makan apel. (I usually eat [an] apple(s)) [currently]
To express a currently ongoing activity, we use progressive tense. In English, we use the form of to be + infinitive + -ing. In Indonesian, we use the time signal sedang.
- Saya sedang makan apel. (I am eating [an] apple(s))
The word other than sedang that can be used is lagi.
- Saya lagi makan apel. (I am eating [an] apple(s))
Be careful with the word placement. The word "sedang" or "lagi" are used right before the verb in order to form progressive tense. Be extra careful in the word "lagi", because if the placement is wrong, then it will mean "again" instead of to mean a progressive tense.
- Saya makan apel lagi. (I am eating [an] apple(s) again)
You can also attach time signals to further reinforce your idea; such as: "sekarang" = now.
Indonesian only has one notion of past tense, which is simple past. It has no notion of past progressive or past perfect tenses. (See below for further clarification)
As always, to form the tenses, we just need to attach time signals.
- Saya makan apel tadi pagi. (I ate [an] apple(s) this morning)
To express undefinite past, Indonesian has these phrases:
- Sudah or Telah → To express undefinite past (distant or recent)
- Dulu → To express undefinite distant past
- Tadi → To express undefinite recent past
- Baru saja or Barusan → To express a very recent past (equivalent to "just now").
Both the words sudah and telah literally means already. It explains that the action has already happened. It is uncertain whether it's in the recent or distant past.
- Saya telah makan apel. (I already ate [an] apple(s))
Note that due to English influence, sudah or telah are often used to express past perfect tenses due to the closeness of their meaning. See below for more.
When people are talking about distant past, the assumption is that the activity discussed is recurrent (unless the context dictates otherwise), especially if we attach habitual time signal. For example:
- Saya dulu makan apel setiap pagi. (I used to eat [an] apple(s) every morning)
The notion of recent past is roughly limited to about last night. So, "tadi malam" means last night.
- Saya makan apel tadi malam. (I ate [an] apple(s) last night)
Baru saja is roughly equivalent to "just now". However, it can also means within an hour or so.
- Saya baru saja makan apel. (I ate [an] apple(s) just now)
To express definite past, we can use the phrase "lalu", which roughly means ago. For example:
- Dua jam lalu = Two hours ago
- Dua hari lalu = Two days ago
- Dua minggu lalu = Two weeks ago
- Dua bulan lalu = Two months ago
- Dua tahun lalu = Two years ago
Note that sometimes the phrase "yang lalu" is used instead of "lalu". They are equivalent. Literally, the word lalu means pass and yang means that or which. So, "dua jam yang lalu" literally means "[at] two hours that pass".
Other words that may be useful to express ideas in the past:
- Kemarin = Yesterday
- Kemarin pagi = Yesterday morning
(and you can repeat this for siang, sore, and malam)
- Kemarin lusa = The day before yesterday
- Minggu lalu = Last week
- Bulan lalu = Last month
- Tahun lalu = Last year
The same goes with future tense: We need to attach time signals. For example:
- Saya akan makan apel. (I will eat [an] apple(s))
To express undefinite future, Indonesian has these phrases:
- Akan or Bakal → Undefinite future, either distant or recent
- Kelak → Distant future
- Nanti → Near future
Note that the word akan must be placed right before the verb, just like sedang. See the example above.
The difference between kelak and nanti is on the distance to the future they are. Their usage can be combined with the word akan.
- Saya akan makan apel kelak.
- Saya makan apel kelak.
- Saya akan makan apel nanti.
- Saya makan apel nanti.
The first two sentences are equivalent, as are the last two. The difference is that the first two implies more distant future than the last two. How distant? It depends on the context. The good rule of thumb is kelak usually refers to a time frame of months or years in the future, whereas nanti refers to a much shorter time in the future than that (i.e. days).
To specify definite future, the word akan can also be combined with other future time signals, such as besok ( = tomorrow).
- Saya akan makan apel besok. (I will eat [an] apple(s) tomorrow)
The word kelak or nanti can be combined with future time signals too in order to specify a definite future:
- Dua jam nanti = Two hours later
- Dua hari nanti = Two days later
- Dua minggu nanti = Two weeks later
- Dua bulan nanti = Two months later
- Dua tahun nanti = Two years later
Note that when specifying definite future, the word kelak and nanti is equivalent. So, "dua jam nanti" is equivalent as "dua jam kelak". Usually people still follow the "rule of thumb" above. So, "dua jam nanti" is used more often than "dua jam kelak"; and "dua tahun kelak" is used more often than "dua tahun nanti". However, people usually use "dua bulan nanti" and "dua bulan kelak" interchangeably.
- Saya makan apel dua jam nanti. (I will eat [an] apple(s) two hours later)
Note that the word akan can also be combined with kelak or nanti. But kelak and nanti cannot be used together. For example:
- Saya akan makan apel dua jam nanti. (I will eat [an] apple(s) two hours later)
- Saya akan makan apel dua jam kelak. (I will eat [an] apple(s) two hours later)
The two examples are equivalent.
Another good time signal to use for future tense is "depan", which means next (in next week, etc.):
- Minggu depan = next week
- Bulan depan = next month
- Tahun depan = next year
As stated above, Indonesian has no complex tenses such as future perfect (i.e. will have + infinitive). The way Indonesian gets around with it is to throw in the appropriate time signals. This practice is influenced by Romance languages and sounds inherently unnatural to Indonesian people. However, you may do that and people may still be able to understand it, may be just a bit strange.
Due to English language influence, people began using the words sudah or telah to express present perfect. This is because Indonesian actually doesn't have present perfect. So:
- Saya sudah makan apel. (I have eaten [an] apple(s))
It's a bit weird, but it works. So you can use it if you want to.
We use the phrase "akan telah" or "akan sudah" to indicate future perfect.
- Saya akan sudah makan apel besok. (I will have eaten [an] apple(s) tomorrow)
Conditional perfect is expressed using "would have". Unfortunately, Indonesian has no way to express this. The usual translation is using "mungkin telah", but that would actually mean "may have". This is very awkward situation. It sounds very unnatural. The best way translating it is to translate the sentence in its entirety in a different way.