Jumat, 18 Juni 2010

Pemanfaatan Hard Disk

Pemanfaatan Hard Disk

Ketika kita menyimpan data di komputer, salah satu media penyimpanan yang paling terkenal adalah di hard disk. Hard disk mempunyai peranan yang cukup penting dalam komputer karena merupakan media penyimpanan dari OS atau sistem operasi komputer. Fungsi utamanya sebagai media penyimpanan atau storage data secara permanen. Hard disk menyimpan bermacam-macam informasi, salah satunya informasi mengenai hardware yang ada di dalam PC tersebut, lalu OS itu sendiri. Hard disk merupakan salah satu komponen yang menentukan kinerja PC. Semakin cepat hard disk bekerja, semakin cepat pula transfer yang dihasilkan. Hard disk IDE mempunyai 4 tingkatan kelas, masing-masing Ultra DMA/33, Ultra DMA/66, Ultra/100, dan Ultra DMA/133. DMA singkatan dari Direct Memory Access yang berfungsi untuk meningkatkan transfer data. Maksud Ultra DMA/33 adalah daya transfer rata-ratanya 33 MBps. Jadi, Ultra DMA/133 sama dengan transfer datanya 133 MBps. Penggunaan hard disk jenis SATA masih sedikit dan mahal, tetapi kecepatan transfernya lebih cepat daripada ATA. Hard disk lambat laun mengalami peningkatan dalam hal kapasitas penyimpanan data. Pada masa Windows 3.1, penggunaan hard disk dengan ukuran 300 Mb sudah cukup. Pada Windows 98, hard disk dengan ukuran 8.3 Gb sudah lebih dari cukup. Untuk pemakaian hard disk yang intensif, ukuran tersebut sangat kurang, apalagi menggunakan OS yang baru dan program yang baru pula. Mungkin untuk ukuran standar, hard disk yang dipakai sekarang adalah 20 GB atau lebih tergantung kebutuhan anda. Kecepatan putar hard disk bermacam-macam, antara lain 5400 RPM, 7200 RPM, atau lebih. Putaran yang dihasilkan hard disk yang memiliki RPM 7200 lebih bising daripada 5400 RPM, akibatnya hard disk menjadi lebih cepat panas. Kita memerlukan kipas pendingin untuk mendinginkan dan menjaga peranti ini dapat hidup bertahan lama. Untuk membagi(partisi) hardisk sebenarnya sesuai kebutuhan kita. Ada macam-macam cara membagi hardisk yang baik. Misalkan, untuk hardisk yang kapasitasnya 20 Gb, maka pembagiannya 5 Gb untuk sistem dan 15 Gb untuk data (tanpa install berbagai macam game). Alasan mengapa untuk sistem kapasitasnya lebih kecil karena kalau kecil maka cara kerjana juga lebih cepat. Pembagian hardisk ini sangat penting. Jika partisi sistem rusak, data-data kita tidak ikut hilang.

Kamis, 17 Juni 2010

Quicksort


Quicksort

Quicksort is a well-known sorting algorithm developed by C. A. R. Hoare that, on average, makes (nlogn) (big O notation) comparisons to sort n items. In the worst case, it makes (n2) comparisons, though if implemented correctly this behavior is rare. Typically, quicksort is significantly faster in practice than other (nlogn) algorithms, because its inner loop can be efficiently implemented on most architectures, and in most real-world data, it is possible to make design choices which minimize the probability of requiring quadratic time. Additionally, quicksort tends to make excellent usage of the memory hierarchy, taking perfect advantage of virtual memory and available caches. Coupled with the fact that quicksort is an in-place sort and uses no temporary memory, it is very well suited to modern computer architectures. Quicksort (also known as "partition-exchange sort") is a comparison sort and, in efficient implementations, is not a stable sort.

History

The quicksort algorithm was developed in 1960 by C. A. R. Hoare while in the Soviet Union, as a visiting student at Moscow State University. At that time, Hoare worked in a project on machine translation for the National Physical Laboratory. He developed the algorithm in order to sort the words to be translated, to make them more easily matched to an already-sorted Russian-to-English dictionary that was stored on magnetic tape.

Algorithm

Quicksort sorts by employing a divide and conquer strategy to divide a list into two sub-lists. Full example of quicksort on a random set of numbers. The boxed element is the pivot. It is always chosen as the last element of the partition.

The steps are:

  1. Pick an element, called a pivot, from the list.
  2. Reorder the list so that all elements with values less than the pivot come before the pivot, while all elements with values greater than the pivot come after it (equal values can go either way). After this partitioning, the pivot is in its final position. This is called the partition operation.
  3. Recursively sort the sub-list of lesser elements and the sub-list of greater elements.

The base case of the recursion are lists of size zero or one, which are always sorted. The correctness of the partition algorithm is based on the following two arguments:

  • At each iteration, all the elements processed so far are in the desired position: before the pivot if less than or equal to the pivot's value, after the pivot otherwise (loop invariant).
  • Each iteration leaves one fewer element to be processed (loop variant).

The correctness of the overall algorithm follows from inductive reasoning: for zero or one element, the algorithm leaves the data unchanged; for a larger data set it produces the concatenation of two parts, elements less than or equal to the pivot and elements greater than it, themselves sorted by the recursive hypothesis.

Parallelizations

Like merge sort, quicksort can also be easily parallelized due to its divide-and-conquer nature. Individual in-place partition operations are difficult to parallelize, but once divided, different sections of the list can be sorted in parallel. If we have p processors, we can divide a list of n elements into p sublists in (n) average time, then sort each. Ignoring the (n) preprocessing, this is linear speedup. Given n processors, only (n) time is required overall.

One advantage of parallel quicksort over other parallel sort algorithms is that no synchronization is required. A new thread is started as soon as a sublist is available for it to work on and it does not communicate with other threads. When all threads complete, the sort is done. Other more sophisticated parallel sorting algorithms can achieve even better time bounds. For example, in 1991 David Powers described a parallelized quicksort that can operate in O(logn) time given enough processors by performing partitioning implicitly.

Formal analysis

From the initial description it's not obvious that quicksort takes (nlogn) time on average. It's not hard to see that the partition operation, which simply loops over the elements of the array once, uses (n) time. In versions that perform concatenation, this operation is also (n). In the best case, each time we perform a partition we divide the list into two nearly equal pieces. This means each recursive call processes a list of half the size. Consequently, we can make only logn nested calls before we reach a list of size 1. This means that the depth of the call tree is (logn). But no two calls at the same level of the call tree process the same part of the original list; thus, each level of calls needs only (n) time all together (each call has some constant overhead, but since there are only (n) calls at each level, this is subsumed in the (n) factor). The result is that the algorithm uses only (nlogn) time. An alternate approach is to set up a recurrence relation for the T(n) factor, the time needed to sort a list of size n. Because a single quicksort call involves (n) factor work plus two recursive calls on lists of size n / 2 in the best case. The master theorem tells us that T(n) = (nlogn). In fact, it's not necessary to divide the list this precisely; even if each pivot splits the elements with 99% on one side and 1% on the other (or any other fixed fraction), the call depth is still limited to 100logn, so the total running time is still (nlogn). In the worst case, however, the two sublists have size 1 and n − 1 (for example, if the array consists of the same element by value), and the call tree becomes a linear chain of n nested calls. This is the same relation as for insertion sort and selection sort, and it solves to T(n) = (n2). Given knowledge of which comparisons are performed by the sort, there are adaptive algorithms that are effective at generating worst-case input for quicksort on-the-fly, regardless of the pivot selection strategy.

Randomized quicksort expected complexity

Randomized quicksort has the desirable property that, for any input, it requires only (nlogn) expected time (averaged over all choices of pivots). But what makes random pivots a good choice?

Suppose we sort the list and then divide it into four parts. The two parts in the middle will contain the best pivots; each of them is larger than at least 25% of the elements and smaller than at least 25% of the elements. If we could consistently choose an element from these two middle parts, we would only have to split the list at most 2log2n times before reaching lists of size 1, yielding an (nlogn) algorithm. A random choice will only choose from these middle parts half the time. However, this is good enough. Imagine that you are flipping a coin over and over until you get k heads. Although this could take a long time, on average only 2k flips are required, and the chance that you won't get k heads after 100k flips is highly improbable. By the same argument, quicksort's recursion will terminate on average at a call depth of only 2(2log2n). But if its average call depth is (logn), and each level of the call tree processes at most n elements, the total amount of work done on average is the product, (nlogn). Note that the algorithm does not have to verify that the pivot is in the middle half - if we hit it any constant fraction of the times, that is enough for the desired complexity. The outline of a formal proof of the O(nlogn) expected time complexity follows. Assume that there are no duplicates as duplicates could be handled with linear time pre- and post-processing, or considered cases easier than the analyzed. Choosing a pivot, uniformly at random from 0 to n − 1, is then equivalent to choosing the size of one particular partition, uniformly at random from 0 to n − 1. With this observation, the continuation of the proof is analogous to the one given in the average complexity section.

Average complexity

Even if pivots aren't chosen randomly, quicksort still requires only (nlogn) time over all possible permutations of its input. Because this average is simply the sum of the times over all permutations of the input divided by n factorial, it's equivalent to choosing a random permutation of the input. When we do this, the pivot choices are essentially random, leading to an algorithm with the same running time as randomized quicksort.

Space complexity

The space used by quicksort depends on the version used.

Quicksort has a space complexity of (logn), even in the worst case, when it is carefully implemented such that

  • in-place partitioning is used. This requires (1).
  • After partitioning, the partition with the fewest elements is (recursively) sorted first, requiring at most (logn) space. Then the other partition is sorted using tail recursion or iteration. (This idea is commonly attributed to R.Sedgewick .

The version of quicksort with in-place partitioning uses only constant additional space before making any recursive call. However, if it has made (logn) nested recursive calls, it needs to store a constant amount of information from each of them. Since the best case makes at most (logn) nested recursive calls, it uses (logn) space. The worst case makes (n) nested recursive calls, and so needs (n) space; Sedgewick's improved version using tail recursion requires (logn) space in the worst case. We are eliding a small detail here, however. If we consider sorting arbitrarily large lists, we have to keep in mind that our variables like left and right can no longer be considered to occupy constant space; it takes (logn) bits to index into a list of n items. Because we have variables like this in every stack frame, in reality quicksort requires ((logn)2) bits of space in the best and average case and (nlogn) space in the worst case. This isn't too terrible, though, since if the list contains mostly distinct elements, the list itself will also occupy (nlogn) bits of space.

Selection-based pivoting

A selection algorithm chooses the kth smallest of a list of numbers; this is an easier problem in general than sorting. One simple but effective selection algorithm works nearly in the same manner as quicksort, except that instead of making recursive calls on both sublists, it only makes a single tail-recursive call on the sublist which contains the desired element. This small change lowers the average complexity to linear or (n) time, and makes it an in-place algorithm. A variation on this algorithm brings the worst-case time down to (n) (see selection algorithm for more information). Conversely, once we know a worst-case (n) selection algorithm is available, we can use it to find the ideal pivot (the median) at every step of quicksort, producing a variant with worst-case (nlogn) running time. In practical implementations, however, this variant is considerably slower on average. Another variant is to choose the Median of Medians as the pivot element instead of the median itself for partitioning the elements. While maintaining the asymptotically optimal run time complexity of (nlogn) (by preventing worst case partitions), it is also considerably faster than the variant that chooses the median as pivot.

Variants

There are three well known variants of quicksort:

  • Balanced quicksort: choose a pivot likely to represent the middle of the values to be sorted, and then follow the regular quicksort algorithm.
  • External quicksort: The same as regular quicksort except the pivot is replaced by a buffer. First, read the M/2 first and last elements into the buffer and sort them. Read the next element from the beginning or end to balance writing. If the next element is less than the least of the buffer, write it to available space at the beginning. If greater than the greatest, write it to the end. Otherwise write the greatest or least of the buffer, and put the next element in the buffer. Keep the maximum lower and minimum upper keys written to avoid resorting middle elements that are in order. When done, write the buffer. Recursively sort the smaller partition, and loop to sort the remaining partition.
  • Three-way radix quicksort (also called multikey quicksort): is a combination of radix sort and quicksort. Pick an element from the array (the pivot) and consider the first character (key) of the string (multikey). Partition the remaining elements into three sets: those whose corresponding character is less than, equal to, and greater than the pivot's character. Recursively sort the "less than" and "greater than" partitions on the same character. Recursively sort the "equal to" partition by the next character (key).

Source : http://en.wikipedia.org/wiki/Quicksort

Pembahasan :

Quicksort lebih dikenal sebagai algoritma sorting. Quicksort disebut juga dengan partition exchange sort. Algoritma quick sort mengurutkan dengan sangat cepat dibandingkan dengan algoritma yang lain karena loop dalamnya dapat secara efisien diimplementasikan pada kebanyakan arsitektur dan disebagian besar data di dunia nyata adalah mungkin untuk membuat pilihan desain yang meminimalkan kemungkinan membutuhkan waktu kuadrat, namun algoritma ini sangat komplex dan diproses secara rekursif.. Walaupun begitu algoritma quick sort tidak selalu merupakan pilihan yang terbaik. Seperti yang telah disebutkan sebelumnya, algoritma ini dilakukan secara rekursif yang berarti jika dilakukan untuk tabel yang berukuran sangat besar, walaupun cepat, dapat menghabiskan memori yang besar pula. Selain itu, algoritma ini adalah algoritma yang terlalu komplex untuk mengurutkan tabel yang berukuran kecil (hanya puluhan elemen misalnya). Selain itu algoritma quicksort mempunyai tingkat efisiensi yang buruk ketika dioperasikan pada tabel yang hampir terurut atau pada tabel yang terurut menurun.

Quick sort merupakan divide and conquer algorithm. Langkah-langkahnya adalah sebagai berikut :

a. Pilih satu elemen secara acak

b. Pindahkan semua elemen yang lebih kecil ke sebelah elemen tersebut dan semua elemen yang lebih besar ke sebelah kanannya. Elemen yang nilainya sama bisa disimpan di salah satunya. Ini disebut operasi partisi

c. Lakukan sort secara rekursif terhadap sublist sebelah kiri dan kanannya.

Selasa, 01 Desember 2009

CONTOH SURAT LAMARAN-Bahasa Inggris Standar

Jakarta, November 17th,2009

Attention To:
HRD Manager
PT. Pranata Informatindo
Jl. Raya Sudirman No. 17
Jakarta

Dear Sir/Madam,

I have read from your advertisement at Republika that your company is looking for employees to hold some position. Based on the advertisement, I am interested in applying application for Engineer position according with my background educational as Engineering Physics.

My name is Asmarnovira, I am twenty three years old. I have graduated from Engineering Physics Department ISTN on March 2009. My specialization in Engineering Physics is Instrumentation and Control specialist. I consider myself that I have qualifications as you want. I have good motivation for progress and growing, eager to learn, and can work with a team (team work) or by myself. Beside that I posses adequate computer skill and have good command in English (oral and written).

With my qualifications, I confident that I will be able to contribute effectively to your company. Here with I enclose my :
1. Copy of Bachelor Degree (S-1) Certificate and Academic Transcript.
2. Curriculum Vitae.
3. Copy of Job Training Certificate from Unocal Indonesia Company.
4. Recent photograph with size of 4×6.

I would express my gratitude for your attention and I hope I could follow your recruitment test luckily.

Sincerely,

Asmarnovira

TESIS (2)

Future Perfect Tense
Future Perfect digunakan untuk menunjukkan waktu selesainya sesuatu. Contoh:
I will have finished by 4.00. (Sampai jam 4.00 saya akan menyelesaikan sebuah aktivitas tertentu).
Bentuk:
Future Continous dibentuk dengan will + have + past participle (verb 3). Contoh:
-I will have arrived by 4.00.
-They will have left by next week.
-He will have gone to America by the end of the month.

Untuk bentuk negatif tambahkan not, contoh:
-I won’t have arrived by 4.00.
-They won’t have left by next week.
-He won’t have gone to America until next month.

Untuk pertanyaan tukar posisi will dengan subjek, contoh:
-Will you have arrived by 4.00?
-Will they have left by next week?
-Will he have gone to America by next month?

Kegunaan
Future Perfect menunjukkan waktu dimana sesuatu selesai dilakukan/terjadi. Contoh:
Next Friday, I‘ll have worked here for 5 years. (Ketika Jumat depan tiba, maka sudah 5 tahun saya bekerja disini).

Kita sering menggunakan by untuk menunjukkan waktu sebelum sesuatu diselesaikan, contoh:
Can I borrow you book? - You can have it tomorrow, I‘ll have read it by then.
I‘ll have left by the time you arrive.

Future Continous Tense
Future Continuous digunakan untuk aktivitas yang terjadi dalam periode waktu mendatang. Contoh:
- This week I’m working in Boston, but next week I’ll be working in Los Angeles.
- Where will you be staying? I’ll be staying at the Warwick Hotel.
Bentuk:
Future Continous dibentuk dengan will + kata kerja “to be” + bentuk -ing. Contoh:
-I will be arriving at 4.00.
-They will be staying for a few days.
-She will be going to America.

Untuk bentuk negatif ditambahkan not, contoh:
-I won’t be arriving at 4.00.
-We won’t be staying for a few days.
-She won’t be going to America.

Untuk bentuk pertanyaan posisi will ditukar dengan posisi subjek, contoh:
-Will you be arriving at 4.00?
-Will they be staying for a few days?
-Will she be going to America?

Kegunaan
Future Continious juga digunakan untuk sebuah aktivitas yang terjadi sekitar waktu tertentu. Contoh:
-I’ll be arriving at 7.00. (Saya akan tiba sekitar pukul 7.00)
-I’ll be seeing you at Mike’s birthday party.
-What time will you be leaving? I’ll be leaving at 10.00. (Saya tidak mungkin berangkat tepat jam 10 tetapi proses saya berangkat terjadi sekitar pukul 10.00).

Future Continous Tense terkadang digunakan untuk penawaran formal, contoh:
“Will you be needing a cab home, sir?”

Future Continous juga digunakan untuk mengecek informasi, contoh:
Will you be having lunch with us?

Bandingkan dengan bentuk Future Simple, yang kedengaran lebih seperti sebuah penawaran, contoh:
Will you have lunch with us?

Future Continuous juga digunakan untuk membuat prediksi-prediksi tentang perasaan orang, contoh:
-You’ll be feeling hungry after a hard day’s work.
-You’ll be needing some rest before you go.

Past Perfect Tense
Past Perfect digunakan untuk menghubungkan dua waktu lampau: sebuah waktu lampau sebelumnya dengan waktu lampau setelahnya. Dalam praktiknya present perfect digunakan untuk menyatakan peristiwa-peristiwa yang terjadi sebelum waktu lampau tertentu. Contoh:
- When I arrived, the plane had left.
- I arrived (waktu lampau), the plane left (waktu lampau sebelumnya)
- Before I went to Canada, I hadn’t been abroad.
- I went to Canada (waktu lampau), and before that time I never went abroad (waktu lampau sebelumnya).
Bentuk:
Past perfect dibentuk dengan had dan past participle (verb 3). Contoh:
-Had eaten
-She had played
-They had flown, dan seterusnya.

Kegunaan
Seperti disebutkan Past Perfect menghubungkan dua waktu lampau: sebuah situasi lampau dan situasi lampau lain sebelumnya. Ada beberapa kaidah yang perlu diperhatikan dan berikut beberapa contoh untuk membantu anda melihat bagaimana penggunaannya.
-I wasn’t busy yesterday. I had already finished my work. I wasn’t busypada satu waktu di masa lampau, karena sebelumnya I had finished my work.
-I ate a small lunch, because I’d already eaten a big breakfast. I ate lunch pada satu waktu di masa lampau, dan I ate breakfast pada waktu lampau sebelumnya.
-When I arrived, the concert had just started. I arrived di masa lampau, dan the concert started beberapa waktu sebelumnya.

Past Perfect - Present Perfect
Present Perfect menghubungkan waktu lampau dan waktu sekarang, contoh:
I haven’t eaten today, so I want some food.

Past Perfect menghubungkan dua waktu lampau, Contoh:
I hadn’t eaten yesterday, so I wanted some food.

Begitu juga:
-We don’t need an umbrella because the rain has stopped. (Present Perfect)
-We didn’t need an umbrella, because the rain had stopped. (Past Perfect)

Present perfect
Present Perfect Tense digunakan untuk menghubungkan masa lampau dengan masa sekarang. Kegunaan utamanya adalah untuk menunjukkan relevansi tindakan atau situasi masa lampau dengan kondisi sekarang. Contoh:
John has gone home. (telah pulang ke rumah)
John pulang ke rumah di masa lampau, tetapi yang diinginkan kalimat diatas sebenarnya adalah dimana dia berada sekarang. Kalimat ini memberikan informasi masa lampau untuk menginformasikan situasi sekarang.
Bentuk:
Present Perfect dibuat dengan have/has (kata kerja bantu “to have”) danpast participle (kata kerja bentuk ke-3). Contoh:
-I have worked in London.
-She has worked in a bank.
Pasti participle (Verb 3) beraturan dibentuk dengan menambahkan -ed ke kata kerja, misalnya work - worked, play - played. Akan tetapi ada banyak Verb 3 tidak beraturan yang perlu anda ketahui.

Berikut adalah bentuk-bentuk Present Perfect dengan kata kerja to work:
Afirmatif
Tunggal:
-I have worked
-You have worked
-He has worked
-She has worked
-It has worked
Jamak:
-We have worked
-You have worked
-They have worked
Negatif
Tunggal:
-I haven’t worked (haven’t = have not)
-You haven’t worked
-He hasn’t worked
-She hasn’t worked
-It hasn’t worked
Jamak:
-We haven’t worked
-You haven’t worked
-They haven’t worked
Interogatif
Tunggal:
Have I worked?
Have you worked?
Has he worked?
Has she worked?
Has it worked?
Jamak:
Have I worked?
Have you worked?
Have they worked?
Kegunaan
Berikut beberapa kegunaan Present Perfect. Perlu selalu diingat bahwa untuk semua poin berikut tujuan utama yakni menghubungkan masa lampau dan masa sekarang adalah sama:
A. Masa lampau yang menginformasikan masa sekarang
1. Present Perfect Tense digunakan untuk memberikan informasi masa lampau yang relevan dengan keadaan sekarang. Contoh:Have you been shopping? Yes, I went this morning.
Pertanyaan “Have you been shopping?” menanyakan tentang fakta masa lampau - apakah You pergi belanja atau tidak. Akan tetapi, pertanyaan ini ditanyakan karena kebutuhan masa sekarang - jika You sudah belanja, pembicara tidak perlu pergi sekarang - jika You belum belanja pembicara perlu pergi sekarang. Pertanyaan ini adalah pertanyaan tentang kebutuhan masa sekarang, bukan fakta masa lampau.

2. Present Perfect Tense digunakan untuk menghubungkan pengalaman masa lampau. Contoh:
Have you been to Italy? No, I haven’t been there.
Lagi-lagi, pertanyaan “Have you been Italy?” menanyakan tentang fakta masa lampau, tetapi masa atau kondisi lampau tidak begitu penting. Justru penanya menginginkan informasi ini untuk kebutuhan sekarang - mungkin penanya sedang membicarakan tentang perjalanan keluar negeri, atau mungkin tertarik dengan Italia. Kita tidak bisa menjelaskan hanya dari satu kalimat, tetapi yang menjadi fokus disini adalah pada kebutuhan sekarang, bukan masa lampau.

3. Present Perfect Tense digunakan untuk pencapaian/prestasi. Contoh:James has won first prize for math.
James memenangkan hadiah di masa lampau, tetapi yang menjadi fokus kalimat adalah prestrasinya sekarang ini.

B. Masa lampau sampai masa sekarang
1. Present Perfect digunakan untuk menunjukkan perubahan dari masa lampau sampai masa sekarang. Contoh:John’s English wasn’t very good, but he’s got much better.
Antara sebuah waktu di masa dan sekarang, Bahasa Inggris John telah mengalami peningkatan. Fokus tidak terlalu ditujukan pada seberapa buruk English John di masa lampau, tetapi justru seberapa baik English dia sekarang.

2. Present Perfect digunakan untuk sebuah situasi atau tindakan yang bermula di masa lampau dan masih terus berlanjut sampai sekarang. Kita umum menggunakan for dan since pada situasi-situasi seperti ini. Contoh:
John has lived in Boston for 5 years.
John datang ke Boston 5 tahun yang lalu dan masih tinggal disana.
He has (He’s) been a lawyer for 12 years.

3. Present Perfect digunakan untuk tindakan yang berulang yang dimulai di masa lampau dan terus berlanjut sampai sekarang Contoh:We’ve been to England 4 times.
Subjek (we) pada kalimat diatas pergi ke England beberapa kali di masa lampau, dan kemungkinan akan kesana lagi di masa yang akan datang.

4. Present Perfect digunakan untuk sebuah periode waktu yang dimulai di masa lampau tetapi masih terus berlanjut sampai sekarang. Contoh:
I’ve studied at the library every day this week.
This week bermula di masa lampau, tetapi masih berlangsung, belum berakhir.

Waktu pasti dan tak pasti
Salah satu aturan mudah tentang Present Perfect adalah tenses ini tidak bisa digunakan bersama dengan waktu pasti (definite time). Contoh:
-I’ve been on vacation. Benar
-I went on vacation last month. Benar
-I’ve been on vacation last month. Tidak benar
Kita tidak bisa menggunakan waktu pasti bersaa dengan Present Perfect. Present Perfect menggunakan informasi masa lampau untuk berfokus pada waktu sekarang, jadi menyebutkan waktu lampau juga tidak tepat.
Sebagai aturan umum: Jika waktu pasti di masa lampau penting, gunakan Present Simple - Jika waktu pasti di masa lampau tidak penting, gunakan Present Perfect. Contoh:
-I went to Paris last year. (Yang menjadi fokus adala masa lampau)
-I’ve been to Paris. (Yang menjadi fokus adalah bagaimana pengalaman di Paris mempengaruhi masa sekarang)

Present Perfect bisa digunakan bersama dengan kata keterangan waktu. Contoh:
I haven’t had a vacation recently.

Perlu diperhatikan bahwa Present Perfect bisa digunakan dengan periode waktu yang belum selesai. Contoh:
I haven’t had a vacation this year. Benar (Tahun ini belum habis, jadi Present Perfect digunakan untuk waktu yang terus berlanjut dari masa lalu sampai sekarang)
I haven’t had a vacation last year. Tidak benar

Have you ever…?
Have you ever…? merupakan struktur umum yang digunakan untuk menanyakan tentang pengalaman masa lampau. Contoh:
-Have you ever met a famous person?
Secara kasar kalimat diatas berarti: Apakah kamu memiliki pengalaman masa lampau bertemu dengan orang terkenal / Apakah kamu bertemu dengan orang terkenal di waktu mana saja di masa lampau?
-Have you ever flown in a plane?
-Have you ever won a competition?
-Haven’t you ever done this before?

Ever
Ever berarti “pada waktu kapan saja”, waktu spesifik tidak diketahui atau tidak penting.
Ever digunakan dalam pertanyaan, lihat “Have you ever…? di atas.
Ever juga digunakan bersama nothing, nobody dan sebagainya untuk hal-hal yang belum terjadi sebelumnya Contoh:
-Nobody has ever travelled through time.
-That window’s been broken for months, but nothing has ever been done about it.
Ever juga digunakan dengan “the first time” untuk pengalaman pertama. Contoh:
-This is the first time I’ve been abroad.
-Is this your first time on a plane?
-This is the first time I’ve ever eaten dog soup.
Ever bisa digunakan dalam kalimat afirmatif meskipun lebih tidak lazim dan sering dianggap kuno. Untuk informasi lebih lanjut anda bisa cek disinihttp://dictionary.reference.com/search?q=ever

Never
Never pada dasarnya merupakan singkat dari “not ever”. Digunakan bersama Present Perfect tense, never berarti subjek belum mengalami pengalaman tertentu sebelumnya. Contoh:
-Have you ever been abroad? No, I’ve never been abroad. (Saya belum pernah mengalami pengalaman itu sebelumnya)
-Have you ever been on a plane before? No, I’ve never been on a plane.

Kalimat negatif dan bertanya juga mungkin. Contoh:
Have you never eaten this before?

Kalimat ini menunjukkan kejutan yang You belum pernah alami sebelumnya. Contoh:
Have you never played soccer?

Since dan for keduanya digunakan untuk situasi-situasi dan tindakan-tindakan yang dimulai di masa lampau dan terus berlanjut sampai sekarang. Contoh:
-I’ve been at home for 4 hours.
-I’ve been at home since 12.00.
Since
Since digunakan dengan sebuah titik waktu. Contoh:
-I’ve lived here since March.
-I’ve been here since 9.00 this morning.
Since hanya digunakan dengan bentuk Perfect seperti Present Perfect, Past Perfect dan seterusnya. Since tidak bisa digunakan bersama dengan bentuk-bentuk lainnya. Contoh:
-I’ve studied english since last year - Benar
-I studied / I am studying / I will study English since last year - Tidak benar
Since juga digunakan bersama dengan klausa-klausa waktu. Contoh:
-I’ve studied English since I was at university.
-We haven’t seen my family since we got married.
Perhatikan bahwa klausa utama menggunakan Present Perfect, dan klausa lainnya menggunakan past simple.
For
For digunakan dengan sebuah periode waktu. Contoh:
-I’ve lived here for 9 months.
-She’s been here for 5 hours.
Berbeda dengan since, for bisa digunakan dengan tensis-tensis selain perfect tense. Contoh:
-I lived here for 9 months - Periode waktu ini dimulai dan berakhir di masa lampau, sekarang telah selesai.
-I will live here for a year - Periode waktu ini akan dimulai dan berakhir di masa mendatang, sekarang belum dilakukan.
-I have lived here for a long tome - Periode waktu ini dimulai di masa lampau dan masih terus berlanjut sampai sekarang. Belum berakhir.

Memilih apakah harus menggunakan Present Perfect atau Pasti Simple biasanya tergantung pada apakah digunakan waktu pasti (definite) atau waktu tidak pasti (indefinite). Jika waktu pasti lampau digunakan, kita memakai Past Simple, dan jika tidak ada waktu pasti yang diberikan kita gunakan Present Perfect.

Peristiwa tunggal
-I went to America in March. - Kalimat ini memiliki waktu lampau yang pasti, jadi kita gunakan Past Simple.
-I’ve been to America. - Disini waktu tidak penting, yang penting adalah fakta bahwa subjek pergi ke Amerika di waktu lampau.
-I read this book last week. - Pekan lalu (Last week) subjek mulai dan menyelesaikan membaca buku ini.
-I’ve read this book. - Disini waktu juga tidak penting, yang penting adalah fakta bahwa subjek sebelumnya telah membaca buku tersebut.

Akan tetapi, Present Perfect bisa digunakan dengan periode waktu yang belum berakhir. Contoh:
-I’ve been to the doctor today. - Today (hari ini) belum berakhir, jadi kalimat ini benar.
-I went to the doctor today. - Ini juga benar, sebuah pernyataan tentang tindakan di masa lampau.
-I’ve been to the doctor yesterday. - Ini tidak benar, yesterday (kemarin) merupakan periode yang telah berakhir yang tidak berlanjut sampai sekarang jadi kita tidak menggunakan Present Perfect pada kalimat ini.

Banyak peristiwa
Past Simple dan Present Perfect bisa sama-sama digunakan untuk peristiwa yang banyak. Contoh:
-I went to America three times last year. - Dalam kalimat ini waktu dianggap penting.
-I’ve been to America three times. - Disini waktu tidak penting, yang ditekankan adalah fakta bahwa subjek sudah pernah ke Amerika.

Seperti di atas kita juga bisa menggunakan present perfect untuk banyak peristiwa apabila waktunya belum berakhir. Contoh:
-I’ve been to America three times this year. - This year (tahun ini) belum berakhir, jadi kalimat ini benar.
-I’ve been to America three times last year. - Tidak benar, last year (tahun lalu) merupakan periode yang telah berakhir, jadi kita tidak bisa menggunakan Present Perfect.

DETERMINERS

Articles, Determiners,and Quantifiers

Definition
Articles, determiners, and quantifiers are those little words that precede and modify nouns:
the teacher, a college, a bit of honey, that person, those people, whatever purpose, either way, your choice.
Sometimes these words will tell the reader or listener whether we're referring to a specific or general thing (the garage out back; A horse! A horse! My kingdom for a horse!); sometimes they tell how much or how many (lots of trees, several books, a great deal of confusion). The choice of the proper article or determiner to precede a noun or noun phrase is usually not a problem for writers who have grown up speaking English, nor is it a serious problem for non-native writers whose first language is a romance language such as Spanish. For other writers, though, this can be a considerable obstacle on the way to their mastery of English. In fact, some students from eastern European countries — where their native language has either no articles or an altogether different system of choosing articles and determiners — find that these "little words" can create problems long after every other aspect of English has been mastered.
Determiners are said to "mark" nouns. That is to say, you know a determiner will be followed by a noun. Some categories of determiners are limited (there are only three articles, a handful of possessive pronouns, etc.), but the possessive nouns are as limitless as nouns themselves. This limited nature of most determiner categories, however, explains why determiners are grouped apart from adjectives even though both serve a modifying function. We can imagine that the language will never tire of inventing new adjectives; the determiners (except for those possessive nouns), on the other hand, are well established, and this class of words is not going to grow in number. These categories of determiners are as follows: the articles (an, a, the — see below; possessive nouns (Joe's, the priest's, my mother's); possessive pronouns, (his, your, their, whose, etc.); numbers (one, two, etc.); indefinite pronouns (few, more, each, every, either, all, both, some, any, etc.); and demonstrative pronouns. The demonstratives (this, that, these, those, such) are discussed in the section on Demonstrative Pronouns. Notice that the possessive nouns differ from the other determiners in that they, themselves, are often accompanied by other determiners: "my mother's rug," "the priests's collar," "a dog's life."
This categorization of determiners is based on Understanding English Grammar by Martha Kolln. 4rth Edition. MacMillan Publishing Company: New York. 1994.

Some Notes on Quantifiers
Like articles, quantifiers are words that precede and modify nouns. They tell us how many or how much. Selecting the correct quantifier depends on your understanding the distinction between Count and Non-Count Nouns. For our purposes, we will choose the count noun trees and the non-count noun dancing:
The following quantifiers will work with count nouns:
many trees
a few trees
few trees
several trees
a couple of trees
none of the trees
The following quantifiers will work with non-count nouns:
not much dancing
a little dancing
little dancing
a bit of dancing
a good deal of dancing
a great deal of dancing
no dancing
The following quantifiers will work with both count and non-count nouns:
all of the trees/dancing
some trees/dancing
most of the trees/dancing
enough trees/dancing
a lot of trees/dancing
lots of trees/dancing
plenty of trees/dancing
a lack of trees/dancing

In formal academic writing, it is usually better to use many and much rather than phrases such as a lot of, lots of and plenty of. There is an important difference between "a little" and "little" (used with non-count words) and between "a few" and "few" (used with count words). If I say that Tashonda has a little experience in management that means that although Tashonda is no great expert she does have some experience and that experience might well be enough for our purposes. If I say that Tashonda has little experience in management that means that she doesn't have enough experience. If I say that Charlie owns a few books on Latin American literature that means that he has some some books — not a lot of books, but probably enough for our purposes. If I say that Charlie owns few books on Latin American literature, that means he doesn't have enough for our purposes and we'd better go to the library.
Unless it is combined with of, the quantifier "much" is reserved for questions and negative statements:
-Much of the snow has already melted.
-How much snow fell yesterday?
-Not much.
Note that the quantifier "most of the" must include the definite article the when it modifies a specific noun, whether it's a count or a non-count noun: "most of the instructors at this college have a doctorate"; "most of the water has evaporated." With a general plural noun, however (when you are not referring to a specific entity), the "of the" is dropped:
-Most colleges have their own admissions policy.
-Most students apply to several colleges.

An indefinite article is sometimes used in conjunction with the quantifier many, thus joining a plural quantifier with a singular noun (which then takes a singular verb):
-Many a young man has fallen in love with her golden hair.
-Many an apple has fallen by October.
a few/a little - means that there are not a lot of something, but there is enough.
-There are a few apples. There are enough apples.
-There are a people at the meeting. There are enough people to hold a meeting. There are not a lot people, at the meeting, but there are enough
-I know a little English. He know enough English to manage.
-I have a little money.
few/little - means that is not enough of something.
-There are few apples. There are not enough apples.
-There are few people. There are not enough people at the meeting. We can't hold a meeting, because there are not enough people.
-There is little money. We can't buy a lot of expensive food.
-If things for the holiday. I don't have enough money, then we will stay home and have a great time.
-They know little English. They can't get around very well. They don't know enough English to manage.

A / AN / THE

Using Articles
What is an article? Basically, an article is an adjective. Like adjectives, articles modify nouns. English has two articles: the and a/an. The is used to refer to specific or particular nouns; a/an is used to modify non-specific or non-particular nouns. We call the the definite article and a/an the indefinite article.
the = definite article
a/an = indefinite article
For example, if I say, "Let's read the book," I mean a specific book. If I say, "Let's read a book," I mean any book rather than a specific book. Here's another way to explain it: The is used to refer to a specific or particular member of a group. For example, "I just saw the most popular movie of the year." There are many movies, but only one particular movie is the most popular. Therefore, we use the. "A/an" is used to refer to a non-specific or non-particular member of the group. For example, "I would like to go see a movie." Here, we're not talking about a specific movie. We're talking about any movie. There are many movies, and I want to see any movie. I don't have a specific one in mind. Let's look at each kind of article a little more closely.

Indefinite Articles: a and an
"A" and "an" signal that the noun modified is indefinite, referring to any member of a group. For example:
-"My daughter really wants a dog for Christmas." This refers to any dog. We don't know which dog because we haven't found the dog yet.
-"Somebody call a policeman!" This refers to any policeman. We don't need a specific policeman; we need any policeman who is available.
-"When I was at the zoo, I saw an elephant!" Here, we're talking about a single, non-specific thing, in this case an elephant. There are probably several elephants at the zoo, but there's only one we're talking about here.

Remember, using a or an depends on the sound that begins the next word. So...
a + singular noun beginning with a consonant: a boy; a car; a bike; a zoo; a dog.
an + singular noun beginning with a vowel: an elephant; an egg; an apple; an idiot; an orphan.
a + singular noun beginning with a consonant sound: a user (sounds like 'yoo-zer,' i.e. begins with a consonant 'y' sound, so 'a' is used); a university; a unicycle.
In some cases where "h" is pronounced, such as "historical," us an:
An historical event is worth recording.

In writing, "a historical event" is more commonly used.
Remember that this rule also applies when you use acronyms:
Introductory Composition at Purdue (ICaP) handles first-year writing at the University. Therefore, an ICaP memo generally discusses issues concerning English 106 instructors. Another case where this rule applies is when acronyms start with consonant letters but have vowel sounds:
An MSDS (material safety data sheet) was used to record the data. An SPCC plan (Spill Prevention Control and Countermeasures plan) will help us prepare for the worst. If the noun is modified by an adjective, the choice between a and an depends on the initial sound of the adjective that immediately follows the article:
a broken egg
an unusual problem
a European country (sounds like 'yer-o-pi-an,' i.e. begins with consonant 'y' sound)

Remember, too, that in English, the indefinite articles are used to indicate membership in a group:
-I am a teacher. (I am a member of a large group known as teachers.)
-Brian is an Irishman. (Brian is a member of the people known as Irish.)
-Seiko is a practicing Buddhist. (Seiko is a member of the group of people known as Buddhists.)

Definite Article: the
The definite article is used before singular and plural nouns when the noun is specific or particular. The signals that the noun is definite, that it refers to a particular member of a group. For example:
-"The dog that bit me ran away." Here, we're talking about a specific dog, the dog that bit me.
-"I was happy to see the policeman who saved my cat!" Here, we're talking about a particular policeman. Even if we don't know the policeman's name, it's still a particular policeman because it is the one who saved the cat.
-"I saw the elephant at the zoo." Here, we're talking about a specific noun. Probably there is only one elephant at the zoo.

Count and Noncount Nouns
The can be used with noncount nouns, or the article can be omitted entirely.
-"I love to sail over the water" (some specific body of water) or "I love to sail over water" (any water).
-"He spilled the milk all over the floor" (some specific milk, perhaps the milk you bought earlier that day) or "He spilled milk all over the floor" (any milk).

"A/an" can be used only with count nouns.
-"I need a bottle of water."
-"I need a new glass of milk."
Most of the time, you can't say, "She wants a water," unless you're implying, say, a bottle of water.

Geographical use of the
There are some specific rules for using the with geographical nouns. Do not use the before:
-names of most countries/territories: Italy, Mexico, Bolivia; however, the Netherlands, the Dominican Republic, the Philippines, the United States
-names of cities, towns, or states: Seoul, Manitoba, Miami
-names of streets: Washington Blvd., Main St.
-names of lakes and bays: Lake Titicaca, Lake Erie except with a group of lakes like the Great Lakes
-names of mountains: Mount Everest, Mount Fuji except with ranges of mountains like the Andes or the Rockies or unusual names like the Matterhorn
-names of continents (Asia, Europe)
-names of islands (Easter Island, Maui, Key West) except with island chains like the Aleutians, the Hebrides, or the Canary Islands

Do use the before:
-names of rivers, oceans and seas: the Nile, the Pacific
-points on the globe: the Equator, the North Pole
-geographical areas: the Middle East, the West
-deserts, forests, gulfs, and peninsulas: the Sahara, the Persian Gulf, the Black Forest, the Iberian Peninsula

Omission of Articles
Some common types of nouns that don't take an article are:
-Names of languages and nationalities: Chinese, English, Spanish, Russian
-Names of sports: volleyball, hockey, baseball
-Names of academic subjects: mathematics, biology, history, computer science

OTHERS, THE OTHERS & ANOTHERS

OTHERS, THE OTHERS & ANOTHERS
Kata other, another, dan others dapat diartikan dengan : yang lain atau lainnya. Ketiga kata tersebut sangat mudah membingungkan. Maka untuk menentukan bagaimana menggunakannya dengan tepat masing-masing kata itu harus diperhatikan empat hal, yaitu:
1. Jika kata itu singular (tunggal) atau plural (jamak).
2. Jika kata itu definite –the- (tentu) atau indefinite –a- (tak tentu)
3. Jika kata itu berfungsi sebagai adjective yang menerangkan noun atau senantiasa bersama dengan noun.
4. Jika kata itu berfungsi sebagai pronoun yang dapat berdiri sendiri.

Perhatikanlah contoh-contoh berikut :
a. I have another (adj.) book
b. I have another (pron.)
Perhatikan bahwa another digunakan hanya untuk menunjuk kepada an indefinite (tak tentu) dan dengan benda tunggal (singular).
c. I have other (adj.) books.
d. I have others. (pron)
e. I have the other book (adj.)
f. I have the other (pron.)
g. I have the other books (adj.)
h. I have the others (pron).
Perhatikan bahwa Others hanya digunakan sebagai plural pronoun yang tidak bersama dengan noun(dapat berdiri sendiri). Sedangkan other dapat digunakan untuk semuanya
i. I have three books, two are mine. The other book is yours. (The others is yours).
j. I have three books, one is mine. The others are yours. (The others are yours).
k. If you are still thirsty, I’ll make another pot of coffee.

Example :
OTHER -- the singular form. The word refers to something that is different from something else. For instance, Director A makes a movie based on a famous novel. Director B makes a different movie based on the same novel.
Luke: "Did you like Director A's movie?"
Ted: "Yes, but I liked the OTHER version much better."

Luke: "What do you think of my new wrist watch?" [On his right wrist.]
Ted: "I think you should wear it on your OTHER wrist."

Two senators write two different pieces of legislation about the same topic. "I like Senator Luke's legislation, but the OTHER one will probably be approved."

So, when we use the singular word "other," we are actually referring to something different from something else: X is fine, but I think the OTHER ["Y"] is more acceptable.

OTHERS (the plural form, for more than one "other")
Some essays are easy to read; OTHERS are much more difficult.

Many people chose to vote in the election. OTHERS simply stayed at home, not interested in voting at all. [OTHERS clearly indicates the "different" or "non-voting" people.]

THE OTHERS (same as above, but used in cases where the article "the" is necessary)
Luke: "Would you like to have THESE shirts?"
Ted: "No, I think THE OTHERS look more presentable.

"The "chosen" people lived in the wealthy homes; all THE OTHERS lived in very poor houses. ["The others" in this example means "the people who are NOT wealthy" or THE OTHERS.]

ANOTHER (The dictionary definition is this: "different or distinct from the one first considered" OR "additional" OR "later")
Different or distinct
Luke: "Are you going to write your essay about global warming?"
Ted: "I had thought I would, but I have changed my mind and will write on ANOTHER topic."

Additional
Luke: "Did you get enough to eat?"
Ted: "No, I think I'll have another piece of pie."

Later
Luke: "Are you taking a trip this weekend?"
Ted: "I think I'll wait until ANOTHER time."