E EnglishLinie

Beranda / Grammar / B1.1 / present-perfect-continuous

B1.1 · Menengah I

Present Perfect Continuous: We Have Been Waiting

Present perfect continuous — have been doing

Proses yang mulai di masa lampau, masih berjalan sampai kini, dan lamanya yang penting

Present perfect continuous (have/has been + -ing) adalah kala untuk proses yang belum selesai: We have been waiting for an hour — menunggu sejak satu jam lalu dan masih menunggu sekarang. Kalau present perfect sederhana menekankan hasil, bentuk continuous menekankan perjalanannya: berapa lama, sejak kapan, dan jejak yang ditinggalkannya di masa kini (matamu lelah karena kamu sudah membaca lama).

Have been doing menunjuk proses yang masih hidup. Pertanyaan andalannya bukan “sudah selesai?” melainkan “sudah berapa lama?”

Sekilas pelajaran

4 aturan · 5 contoh terurai · 8 latihan interaktif

Aturan & Penjelasan

Bentuk: have/has been + kata kerja -ing The form — have / has been + -ing

Bentuknya tiga lapis dan tidak pernah berubah urutan: have/has + been + kata kerja-ing: I have been working. She has been studying. They have been travelling. Negatifnya menaruh not sesudah have/has (It hasn’t been raining), dan pertanyaannya membalik have/has ke depan (How long have you been learning English? — pertanyaan andalan bentuk ini). Bentuk singkatnya alami dalam bicara: I’ve been…, we’ve been….

Pasangannya tetap since (titik awal) dan for (rentang) dari pelajaran sebelumnya: She has been working here since March. We have been waiting for twenty minutes. Bedanya dari keadaan diam seperti know: kata kerja tindakan (work, wait, study, rain, learn) memakai continuous untuk menekankan prosesnya yang masih berjalan.

SubjekBentukContoh
I / you / we / theyhave been + -ingWe have been waiting.
he / she / ithas been + -ingIt has been raining.
negatifhaven’t / hasn’t been + -ingHe hasn’t been sleeping well.
pertanyaanHow long have/has … been + -ing?How long has she been working?

Kesalahan Umum

✗ I am waiting here since two hours. → ✓ I have been waiting here for two hours. — dua perbaikan sekaligus: proses yang mulai di lampau dan masih berjalan menuntut have been, bukan am; dan two hours adalah rentang, pasangannya for, bukan since.

✗ She has being working all day. → ✓ She has been working all day. — lapis tengahnya selalu been (participle dari be), tidak pernah being. Rangkanya tetap: have/has → been → -ing.

Pemakaian inti: masih berjalan, atau baru saja berhenti dengan jejak Core uses — still going, or just stopped with evidence

Pemakaian pertama dan utamanya: kegiatan yang mulai di lampau dan masih berlangsung saat kamu bicara: It has been raining since morning. I have been learning English for two years. The baby has been crying for ten minutes. Lamanya waktu biasanya disebut — bentuk ini lahir untuk menjawab “sudah berapa lama?”.

Pemakaian kedua: kegiatan yang baru saja berhenti, tetapi jejaknya menjelaskan masa kini: You look tired. — Yes, I have been working since five this morning. Her eyes are red because she has been crying. The ground is wet — it has been raining. Di sini kegiatannya mungkin sudah berhenti, tetapi buktinya ada di depan mata, dan bentuk continuous-lah yang menghubungkannya.

SituasiFokusnyaContoh
masih berlangsungdurasi sampai kiniWe have been queueing for an hour.
baru berhenti, ada jejakpenjelasan keadaan kiniI’m hot — I have been running.
kebiasaan sementarapola akhir-akhir iniHe has been arriving late lately.
pertanyaan durasiHow long…?How long have you been driving?

Kesalahan Umum

✗ I have been knowing him since 2020. → ✓ I have known him since 2020. — kata kerja keadaan (know, believe, like, want, own, understand) menolak bentuk -ing di semua kala continuous. Untuk mereka, present perfect sederhana yang bekerja: have known, have liked.

✗ We are learning English for three years. (maksud: mulai tiga tahun lalu, masih belajar) → ✓ We have been learning English for three years. — present continuous hanya menunjuk masa kini yang sempit. Rentang for three years yang menjembatani lampau ke kini menuntut have been learning.

Continuous atau sederhana? Proses melawan hasil Continuous vs simple — process vs result

Pasangan ini sering bisa dipakai untuk kejadian yang sama, tetapi sorotannya berbeda. Continuous menyorot prosesnya: I have been reading your report (sedang kubaca, belum tentu selesai). Sederhana menyorot hasil atau jumlahnya: I have read your report (selesai, kubaca tuntas). Dengan angka dan jumlah, bentuk sederhana hampir selalu yang benar, karena angka menyatakan hasil: She has written three emails (bukan has been writing three emails).

Beberapa kata kerja mengubah rasanya saat berpindah bentuk: I have lived here for years dan I have been living here for years keduanya benar dan hampir sama maknanya untuk live/work/study. Tetapi untuk kejadian sekali selesai (break, lose, finish, arrive), bentuk continuous tidak bisa dipakai: hasil tunggal tidak punya proses yang bisa disorot.

BentukYang disorotContoh
have been + -ingproses, durasi, belum selesaiI have been cooking all morning.
have + participlehasil, selesai, jumlahI have cooked lunch.
have + participle + angkajumlah hasilHe has sold ten tickets today.
keduanya bisa (live/work)perbedaan rasa kecilI have (been) working here since May.

Kesalahan Umum

✗ I have been finishing the report. (maksud: laporan selesai) → ✓ I have finished the report. — finish menyatakan hasil sekali selesai; bentuk continuous akan berarti “sedang dalam proses menyelesaikan” tanpa ujung. Untuk kabar selesai, pakai bentuk sederhana.

✗ She has been writing three reports today. → ✓ She has written three reports today. — angka three reports adalah hitungan hasil. Jumlah yang terhitung selalu menarik kalimat ke present perfect sederhana.

Pertanyaan How long… dan jawaban alaminya How long questions and natural answers

Pertanyaan khas bentuk ini: How long have you been …-ing? How long have you been waiting? How long has it been raining? How long have they been living in Jakarta? Jawabannya memberi rentang atau titik awal: For about an hour. Since eight o’clock. Since we arrived. Jangan menjawab pertanyaan durasi dengan jam kejadian saja tanpa kerangka perfect-nya.

Satu jebakan penutup: jangan memakai bentuk ini untuk kejadian lampau yang sudah berhenti total tanpa hubungan kini. I worked there for years (dulu, sekarang tidak) memakai past simple; I have been working there for years berarti kamu masih di sana. Rentang waktunya sama — kalanya yang menyatakan kamu masih terlibat atau sudah selesai.

Masih terlibat sampai kini → have been doing. Sudah keluar dan selesai → past simple.

Contoh Terurai

We have been waiting for the bus for forty minutes.

Kami sudah menunggu bus selama empat puluh menit (dan masih menunggu).

have been waiting … for — Pemakaian inti: proses masih berjalan, rentangnya disebut dengan for.

KataArti
We have been waitingkami sudah menunggu (masih berlangsung)
for the busmenunggu bus
for forty minutesselama empat puluh menit

It has been raining since early morning.

Hujan turun sejak pagi-pagi sekali.

has been raining … since — Subjek it memakai has. Since menunjuk titik awalnya: early morning.

KataArti
It has been raininghujan turun (sampai kini)
since early morningsejak pagi-pagi sekali

You look exhausted. — I have been cleaning rooms all day.

Kamu kelihatan sangat lelah. — Saya membersihkan kamar sepanjang hari.

have been cleaning — Jejak di masa kini (kelihatan lelah) dijelaskan oleh proses yang baru berlangsung lama — pemakaian kedua bentuk ini.

KataArti
You look exhaustedkamu kelihatan sangat lelah
I have been cleaning roomssaya (sudah lama) membersihkan kamar
all daysepanjang hari

How long has she been studying English?

Sudah berapa lama dia (pr) belajar bahasa Inggris?

How long has she been studying — Pertanyaan durasi andalannya: How long + has + subjek + been + -ing.

KataArti
How longsudah berapa lama
has she been studyingdia belajar (sampai kini)
Englishbahasa Inggris

I have read the whole guidebook. I have been reading it since Monday.

Saya sudah membaca seluruh buku panduan itu. Saya membacanya sejak Senin.

have read … have been reading — Pasangan sorotan dalam satu napas: hasil tuntas (have read the whole…) dan prosesnya (have been reading since Monday).

KataArti
I have read the whole guidebooksaya sudah membaca tuntas seluruh buku panduan
I have been reading itsaya membacanya (prosesnya)
since Mondaysejak Senin

Latihan

8 latihan — diperiksa langsung di tempat, seperti di kursusnya.

Soal 1 dari 8

Grammar hanya permulaan

Latih topik ini dalam percakapan dan kalimat sungguhan di kursus B1.1, level berbayar EnglishLinie. Pelajaran 1 bisa kamu pratinjau gratis.

Buka Kursus B1.1

Pertanyaan umum tentang topik ini

Apa beda “I have worked here for years” dan “I have been working here for years”?

Hampir tidak ada untuk kata kerja seperti work, live, study — keduanya benar, dan bentuk continuous terasa sedikit lebih menekankan kegiatan yang masih hidup dan mungkin sementara. Perbedaan besarnya muncul di kata kerja hasil (finish, break, write three letters): di sana hanya bentuk sederhana yang bisa menyatakan selesai.

Bisakah bentuk ini dipakai tanpa since atau for?

Bisa, bila konteksnya memberi durasinya: I have been waiting. — Sorry! Atau dengan penanda seperti all day, all morning, lately, recently: She has been arriving late lately. Tanpa penanda apa pun, kalimatnya tetap benar tetapi pendengar biasanya menunggu kelanjutan lamanya.

Mengapa “I have been knowing” tidak pernah benar?

Karena know adalah kata kerja keadaan, bukan kegiatan: ia menyatakan kondisi pikiran, bukan proses yang bisa berlangsung bertahap. Semua kala continuous menolak kata keadaan inti (know, believe, want, like, love, own, belong, understand). Untuk mereka, present perfect sederhanalah bentuk “sejak/selama”-nya.

Bagaimana menyatakan “sudah lama tidak…” dengan bentuk ini?

Dengan negatifnya: I haven’t been sleeping well lately; It hasn’t been raining for weeks. Struktur not tinggal menempel sesudah have/has, dan rentangnya tetap for/since. Rasa maknanya: keadaan “tidak berlangsung” itu sendiri yang berjalan sampai kini.

Apakah bentuk ini sama dengan “sedang” dalam bahasa Indonesia?

Tidak tepat. “Sedang” hanya menunjuk saat ini (present continuous: I am waiting now). Present perfect continuous menunjuk rentang dari lampau sampai kini (I have been waiting for an hour) — kata kuncinya adalah lamanya, bukan saatnya. Menerjemahkan “saya sudah menunggu sejak jam delapan” dengan I am waiting adalah jebakan yang paling umum di topik ini.

Diterbitkan 2026 · Diperbarui 2026