diff --git a/README.md b/README.md
index c446aa9d2054def146d382b244c49e516ea683e3..627cad8b72cde6ae591182b5cae317983eb9b4d1 100644
--- a/README.md
+++ b/README.md
@@ -14,44 +14,53 @@ Paralel : ```make```
 
 ## Pembagian Tugas
 
-Johanes Boas Badia - 13517009 - Fungsi matrixToArray, generateRandomArray, printMatrix, printArrayTerminal, doAllDijkstra, main
-Timothy - 13517087 - Fungsi matrixToArray, generateRandomArray, printMatrix, printArrayTerminal, doAllDijkstra, main
+- Johanes Boas Badia - 13517009 - Fungsi matrixToArray, generateRandomArray, printMatrix, printArrayTerminal, doAllDijkstra, main
+- Timothy - 13517087 - Fungsi matrixToArray, generateRandomArray, printMatrix, printArrayTerminal, doAllDijkstra, main
 
 ## Laporan Pengerjaan
 
 1. Deskripsi solusi paralel
 
-Kami mengimplementasikan fungsi djikstra yang dapat mengeluarkan array yang berisi jarak terdekat 
-sebuah node tertentu berdasarkan parameter yang diberikan ke seluruh node lain. Penyelesaian secara
-paralel dilakukan dengan membagi perhitungan djikstra tersebut ke seluruh host yang tersedia. Host
-Root akan membagi pekerjaan sebesar jumlah node / jumlah host. Setelah perhitungan selesai dilakukan,
-seluruh host akan mengembalikan hasil perhitungan dalam bentuk array melalui pemanggilan fungsi MPI_Gather.
+Kami mengimplementasi fungsi doAllDijkstra yang akan melakukan algoritma Dijkstra untuk semua node.
+Kami menggunakan *block size* berukuran 256 dan jumlah block sebesar (N + *block size* - 1) / *block size*
+dengan N adalah jumlah node. Pertama, akan dilakukan cudaMallocManaged untuk
+melakukan alokasi matrix random berisi jarak antar semua node dan matrix hasil.
+Kemudian, akan dilakukan iterasi untuk semua node dan dilakukan dijkstra. Iterasi akan dilakukan
+dengan cara
+
+```cpp
+    int index = blockIdx.x * blockDim.x + threadIdx.x;
+    int stride = blockDim.x * gridDim.x;
+    for(int i= index; i < num_of_node; i += stride){
+    ...
+    }
+```
+iterasi akan dimulai dari ```blockIdx.x * blockDim.x + threadIdx.x``` yang akan mencari thread
+dan akan loncat sebanyak ```blockDim.x * gridDim.x```
 
 2. Analisis Solusi
 
 Solusi yang kami berikan pada permasalahan kali ini belum merupakan solusi paling optimal yang dapat dibuat.
-Salah satu cara untuk meningkatkan efisiensi pengerjaan adalah dengan membagi perhitungan sebuah host ke 
-beberapa thread terpisah agar perhitungan dapat diselesaikan dengan lebih cepat. Selain itu, kekurangan solusi
-yang kami tawarkan adalah jika terdapat sisa pembagian pekerjaan, sisa pekerjaan tersebut akan dikerjakan 
-sepenuhnya oleh host root. Hal ini menyebabkan pembagian pekerjaan menjadi tidak merata.
+Program yang kami buat hanya memanfaatkan satu thread untuk perhitungan dijkstra. Jadi, salah satu cara untuk meningkatkan efisiensi pengerjaan 
+adalah dengan menjalankan dijkstra secara paralel.
 
 3. Jumlah Thread yang digunakan
 
-Pada pengerjaan kali ini, jumlah thread yang digunakan adalah satu thread untuk setiap node host. Alasan pemilihan
-jumlah ini adalah untuk mempermudah implementasi pengerjaan program.
+Pada pengerjaan kali ini, jumlah thread yang digunakan adalah satu thread untuk setiap perhitungan djikstra, 
+dan 256 saat menjalanakan perhitungan dijkstra tersebut secara bersamaan. Alasan pemilihan jumlah ini adalah 
+untuk mempermudah implementasi pengerjaan program.
 
 4. Pengukuran Kinerja
 
-Dibawah ini adalah hasil kinerja algoritma dijkstra yang dijalankan secara serial.
-
-100 : 12673 microsecond
-500 : 981101 microsecond
-1000 : 7861553 microsecond
-3000 : 227481644 microsecond
+| Jumlah Node   | Percobaan 1 Paralel | Percobaan 2 Paralel| Percobaan 3 Paralel | Percobaan 1 Serial  | Percobaan 2 Serial  | Percobaan 3 Serial  | Rata-rata Paralel | Rata-rata Serial
+| ------------- |---------------------| -------------------| ------------------- | ------- | ------- | ------- | ------- | ------- |
+| 100           | 14863       | 14899                 | 14909 | 20851 | 20638 | 21055 | **14890** | **20848** |
+| 500           | 283993       | 284949                 | 284925 | 1590441 | 1571528 | 1584701 | **284622** | **1582223** |
+| 1000           | 1279174       | 1274443                 | 1282717 | 11974309 | 11863723 | 11915837 | **1278778** | **11917956** |
+| 3000           | 32905851       | 32905054                 | 32904597 | 338928424 | 345815987 | 345139185 | **32905167** | **343.294.532** ‬|
 
 5. Perbandingan Kinerja
 
-Secara teori, kinerja pengerjaan algoritma dijkstra dengan paralel akan lebih cepat jika dibandingkan
-dengan serial. Hal ini disebabkan oleh perhitungan dijkstra paralel dari titik sumber tertentu tidak perlu menunggu hasil
-perhitungan titik sumber sebelumnya.
-
+Dapat dilihat dari hasil, pengerjaan algoritma yang sama namun dilakukan secara paralel lebih cepat dibandingkan yang dilakukan secara
+serial. Hal ini terjadi karena percobaan secara paralel menjalankan banyak node di suatu saat yang sama, namun percobaan secara serial
+hanya melakukan perhitungan dijkstra satu node dalam satu iterasi.