From db6acbc7244608b9093750e6f03e5cd66b3ccdaf Mon Sep 17 00:00:00 2001
From: 13511001 <13511001@hpc.if.itb.ac.id>
Date: Fri, 19 Feb 2016 16:42:03 +0700
Subject: [PATCH] added omp directives

---
 .bash_history        | 142 ++++++++++++++++++++++++++++++++++++++++++
 .bashrc              |   2 +
 .ccache/1/stats      |  29 +++++++++
 .ccache/2/stats      |  29 +++++++++
 .ccache/3/stats      |  29 +++++++++
 .ccache/6/stats      |  29 +++++++++
 .ccache/9/stats      |  29 +++++++++
 .ccache/CACHEDIR.TAG |   4 ++
 .ccache/b/stats      |  29 +++++++++
 .ccache/d/stats      |  29 +++++++++
 .ccache/e/stats      |  29 +++++++++
 .ccache/f/stats      |  29 +++++++++
 .ssh/authorized_keys |   1 +
 .ssh/id_dsa          |  12 ++++
 .ssh/id_dsa.pub      |   1 +
 .ssh/known_hosts     |  10 +++
 OpenMP               |   1 +
 OpenMPI_2            |   1 +
 bucket_sort          | Bin 0 -> 8619 bytes
 bucket_sort.c        |  35 +++++++++++
 bucket_sort.c.save   |   0
 bucket_sort.c.save.1 |  34 ++++++++++
 insertion_sort.c     |  19 ++++++
 omp_hello.c.save     |   6 ++
 omp_hello.c.save.1   |   6 ++
 opm.c                | 145 +++++++++++++++++++++++++++++++++++++++++++
 random               | Bin 0 -> 8644 bytes
 random.c             |  30 +++++++++
 sendreceive.c        |   1 +
 29 files changed, 711 insertions(+)
 create mode 100644 .bash_history
 create mode 100644 .bashrc
 create mode 100644 .ccache/1/stats
 create mode 100644 .ccache/2/stats
 create mode 100644 .ccache/3/stats
 create mode 100644 .ccache/6/stats
 create mode 100644 .ccache/9/stats
 create mode 100644 .ccache/CACHEDIR.TAG
 create mode 100644 .ccache/b/stats
 create mode 100644 .ccache/d/stats
 create mode 100644 .ccache/e/stats
 create mode 100644 .ccache/f/stats
 create mode 100644 .ssh/authorized_keys
 create mode 100644 .ssh/id_dsa
 create mode 100644 .ssh/id_dsa.pub
 create mode 100644 .ssh/known_hosts
 create mode 160000 OpenMP
 create mode 160000 OpenMPI_2
 create mode 100755 bucket_sort
 create mode 100644 bucket_sort.c
 create mode 100644 bucket_sort.c.save
 create mode 100644 bucket_sort.c.save.1
 create mode 100644 insertion_sort.c
 create mode 100644 omp_hello.c.save
 create mode 100644 omp_hello.c.save.1
 create mode 100644 opm.c
 create mode 100755 random
 create mode 100644 random.c

diff --git a/.bash_history b/.bash_history
new file mode 100644
index 0000000..c6b5758
--- /dev/null
+++ b/.bash_history
@@ -0,0 +1,142 @@
+ssh-add ~/.ssh/id_dsa
+ssh-keyscan -H 167.205.35.26 >> ~/.ssh/known_hosts
+ssh-keyscan -H 167.205.35.28 >> ~/.ssh/known_hosts
+ssh-keyscan -H 167.205.35.29 >> ~/.ssh/known_hosts
+ssh-keyscan -H 167.205.35.30 >> ~/.ssh/known_hosts
+ssh-keyscan -H 167.205.35.31 >> ~/.ssh/known_hosts
+ssh-keyscan -H 167.205.35.32 >> ~/.ssh/known_hosts
+ssh-keyscan -H 167.205.35.33 >> ~/.ssh/known_hosts
+ssh-keyscan -H 167.205.35.34 >> ~/.ssh/known_hosts
+nano ~/.bashrc
+..bashrc
+. .bashrc
+nano mpi_hostfile
+nano hellompi.c
+mpicc hellompi.c -o hellompi
+whoami
+ip addr
+ls /bin
+ls /bin | grep mpi
+ls
+pwd
+mpicc
+cc
+cd..
+ls
+mpicc
+mpicc hellompi.c -o hellompi
+ls
+cat . .bashrc
+set | grep PATH
+mpicc
+. .bashrc
+mpicc
+rehash
+ls
+/opt/openmpi/bin/mpicc
+vim .bashrc
+. bashrc
+. .bashrc
+mpicc
+mpicc hellompi.c -o hellompi
+mpirun -np 7 --hostfile mpi_hostfile hellompi
+nano sendreceive.c
+mpicc broad
+./sendreceive
+mpirun -np 7 --hostfile mpi_hostfile sendreceive
+git push origin master
+git add sendreceive.c
+git init .
+git pull http://gitlab.informatika.org/theaolivia/OpenMPI_1.git
+git add sendreceive.c
+git push
+git push http://gitlab.informatika.org/theaolivia/OpenMPI_1.git
+git add sendreceive.c
+git push http://gitlab.informatika.org/theaolivia/OpenMPI_1.git
+git push
+git remote add origin http://gitlab.informatika.org/theaolivia/OpenMPI_1.git
+git push origin
+git commit -m "Send and Receive added"
+git add sendreceive.c
+git commit -m "Send and Receive added"
+ls
+git commit -m "Send and Receive added"
+git push origin master
+nano broadcast.c
+mpicc broadcast.c -o broadcast
+nano broadcast.c
+mpicc broadcast.c -o broadcast
+mpirun -np 7 --hostfile mpi_hostfile broadcast
+nano broadcast
+nano broadcast.c
+mpicc broadcast.c -o broadcast
+nano broadcast
+nano broadcast.c
+mpicc broadcast.c -o broadcast
+nano broadcast.c
+mpicc broadcast.c -o broadcast
+nano broadcast.c
+mpicc broadcast.c -o broadcast
+nano broadcast.c
+mpicc broadcast.c -o broadcast
+mpirun -np 7 --hostfile mpi_hostfile broadcast
+git add broadcast.c
+git commit -m "Added broadcast'
+'
+;
+git commit -m "Added broadcast'
+'
+;asdgadsg
+git commit -m "Added broadcast"
+git push origin master
+git checkout .
+git clean -f
+sudo nano bucket_sort.c
+nano bucket_sort.c
+nano ~/.bashrc
+. .bashrc
+mpicc bucket_sort.c -o bucket_sort
+nano random
+mpicc random.c -o random
+nano random.c
+mpirun -np 2 --hostfile 
+nano random.c
+mpicc random.c -o random
+nano random.c
+mpicc random.c -o random
+nano random.c
+mpicc random.c -o random
+nano random.c
+mpicc random.c -o random
+nano random.c
+mpicc random.c -o random
+nano random.c
+mpicc random.c -o random
+nano random.c
+mpicc random.c -o random
+nano random.c
+mpicc random.c -o random
+logout
+git clone http://gitlab.informatika.org/IF3230-2016/OpenMP.git
+nano omp_hello.c
+ls
+nano\
+nano
+ls
+logout
+ls
+nano insertion_sort.c
+nano opm.c
+ls
+nano opm.c
+logout
+git clone http://gitlab.informatika.org/13512501/OpenMPI_2.git
+ls
+nano bucket_sort.c
+nano sendreceive.c
+ls
+nano insertion_sort.c
+ls
+nano opm.c
+ls
+nano bucket_sort.c
diff --git a/.bashrc b/.bashrc
new file mode 100644
index 0000000..13009f5
--- /dev/null
+++ b/.bashrc
@@ -0,0 +1,2 @@
+export PATH="$PATH:/opt/openmpi/bin"
+export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/opt/openmpi/lib"
diff --git a/.ccache/1/stats b/.ccache/1/stats
new file mode 100644
index 0000000..56a3f75
--- /dev/null
+++ b/.ccache/1/stats
@@ -0,0 +1,29 @@
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+1
+0
+0
+0
+65536
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
diff --git a/.ccache/2/stats b/.ccache/2/stats
new file mode 100644
index 0000000..56a3f75
--- /dev/null
+++ b/.ccache/2/stats
@@ -0,0 +1,29 @@
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+1
+0
+0
+0
+65536
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
diff --git a/.ccache/3/stats b/.ccache/3/stats
new file mode 100644
index 0000000..56a3f75
--- /dev/null
+++ b/.ccache/3/stats
@@ -0,0 +1,29 @@
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+1
+0
+0
+0
+65536
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
diff --git a/.ccache/6/stats b/.ccache/6/stats
new file mode 100644
index 0000000..56a3f75
--- /dev/null
+++ b/.ccache/6/stats
@@ -0,0 +1,29 @@
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+1
+0
+0
+0
+65536
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
diff --git a/.ccache/9/stats b/.ccache/9/stats
new file mode 100644
index 0000000..56a3f75
--- /dev/null
+++ b/.ccache/9/stats
@@ -0,0 +1,29 @@
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+1
+0
+0
+0
+65536
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
diff --git a/.ccache/CACHEDIR.TAG b/.ccache/CACHEDIR.TAG
new file mode 100644
index 0000000..874477f
--- /dev/null
+++ b/.ccache/CACHEDIR.TAG
@@ -0,0 +1,4 @@
+Signature: 8a477f597d28d172789f06886806bc55
+# This file is a cache directory tag created by ccache.
+# For information about cache directory tags, see:
+#	http://www.brynosaurus.com/cachedir/
diff --git a/.ccache/b/stats b/.ccache/b/stats
new file mode 100644
index 0000000..e187487
--- /dev/null
+++ b/.ccache/b/stats
@@ -0,0 +1,29 @@
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+2
+0
+0
+0
+65536
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
diff --git a/.ccache/d/stats b/.ccache/d/stats
new file mode 100644
index 0000000..56a3f75
--- /dev/null
+++ b/.ccache/d/stats
@@ -0,0 +1,29 @@
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+1
+0
+0
+0
+65536
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
diff --git a/.ccache/e/stats b/.ccache/e/stats
new file mode 100644
index 0000000..e187487
--- /dev/null
+++ b/.ccache/e/stats
@@ -0,0 +1,29 @@
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+2
+0
+0
+0
+65536
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
diff --git a/.ccache/f/stats b/.ccache/f/stats
new file mode 100644
index 0000000..56a3f75
--- /dev/null
+++ b/.ccache/f/stats
@@ -0,0 +1,29 @@
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+1
+0
+0
+0
+65536
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
diff --git a/.ssh/authorized_keys b/.ssh/authorized_keys
new file mode 100644
index 0000000..917d092
--- /dev/null
+++ b/.ssh/authorized_keys
@@ -0,0 +1 @@
+ssh-dss AAAAB3NzaC1kc3MAAACBAJSeNXjIUyM0NJCA+a1+hcXfL2ntUwSYFKDQJ5o/aW6gk7iEFGsWGxIwPkYFdnyPhtalbcU266hsLd4kFa4nXy6g33mlKx/s00kepEXohl2VwprOJOG01UuIBpNJCc7YAKjLJd8IWuSq8eennYJvQi9FSJ8EXhrIBFZuRpCvT7CtAAAAFQDgg9Fl3G/tEzKmaFu52fpmC0djOwAAAIBlZteNfxqMwFeqfzBh/RHrbz2hbfbUK71AE2X+Ggd/ARv/SNRVjWoCjixDJ5/7mG8EVbG2Aqt5ov5OBwIrxzCT4dFusYxx7MXgO/mIf+7h5XrDyUiO/QbSDEYqxeMr/pnKJX3xqllOajR5p5RCyXEzDxm3JFl2a1JojVC7sklahgAAAIAsU6MNzXN4E1XGwj5bjSi6aG3mhH94JajJa2hLM/fvXZMuqHKYffEwxAHae8sJ24fWVvPD5d4QuHCIw+02h2nlDF0s87WwtXpLTgPLVzgGsmhTmD8cWD3fvFbQAgA+d1BJ83kIp5TGPsfUG2qmKuGj7G5WxQDTyNjo6I9BgllPqw== 13511001@ld5-01
diff --git a/.ssh/id_dsa b/.ssh/id_dsa
new file mode 100644
index 0000000..6950aba
--- /dev/null
+++ b/.ssh/id_dsa
@@ -0,0 +1,12 @@
+-----BEGIN DSA PRIVATE KEY-----
+MIIBuwIBAAKBgQCUnjV4yFMjNDSQgPmtfoXF3y9p7VMEmBSg0CeaP2luoJO4hBRr
+FhsSMD5GBXZ8j4bWpW3FNuuobC3eJBWuJ18uoN95pSsf7NNJHqRF6IZdlcKaziTh
+tNVLiAaTSQnO2ACoyyXfCFrkqvHnp52Cb0IvRUifBF4ayARWbkaQr0+wrQIVAOCD
+0WXcb+0TMqZoW7nZ+mYLR2M7AoGAZWbXjX8ajMBXqn8wYf0R6289oW321Cu9QBNl
+/hoHfwEb/0jUVY1qAo4sQyef+5hvBFWxtgKreaL+TgcCK8cwk+HRbrGMcezF4Dv5
+iH/u4eV6w8lIjv0G0gxGKsXjK/6ZyiV98apZTmo0eaeUQslxMw8ZtyRZdmtSaI1Q
+u7JJWoYCgYAsU6MNzXN4E1XGwj5bjSi6aG3mhH94JajJa2hLM/fvXZMuqHKYffEw
+xAHae8sJ24fWVvPD5d4QuHCIw+02h2nlDF0s87WwtXpLTgPLVzgGsmhTmD8cWD3f
+vFbQAgA+d1BJ83kIp5TGPsfUG2qmKuGj7G5WxQDTyNjo6I9BgllPqwIVAKKUwsR0
+/UnKviTNn1n5MDIMpmk1
+-----END DSA PRIVATE KEY-----
diff --git a/.ssh/id_dsa.pub b/.ssh/id_dsa.pub
new file mode 100644
index 0000000..917d092
--- /dev/null
+++ b/.ssh/id_dsa.pub
@@ -0,0 +1 @@
+ssh-dss AAAAB3NzaC1kc3MAAACBAJSeNXjIUyM0NJCA+a1+hcXfL2ntUwSYFKDQJ5o/aW6gk7iEFGsWGxIwPkYFdnyPhtalbcU266hsLd4kFa4nXy6g33mlKx/s00kepEXohl2VwprOJOG01UuIBpNJCc7YAKjLJd8IWuSq8eennYJvQi9FSJ8EXhrIBFZuRpCvT7CtAAAAFQDgg9Fl3G/tEzKmaFu52fpmC0djOwAAAIBlZteNfxqMwFeqfzBh/RHrbz2hbfbUK71AE2X+Ggd/ARv/SNRVjWoCjixDJ5/7mG8EVbG2Aqt5ov5OBwIrxzCT4dFusYxx7MXgO/mIf+7h5XrDyUiO/QbSDEYqxeMr/pnKJX3xqllOajR5p5RCyXEzDxm3JFl2a1JojVC7sklahgAAAIAsU6MNzXN4E1XGwj5bjSi6aG3mhH94JajJa2hLM/fvXZMuqHKYffEwxAHae8sJ24fWVvPD5d4QuHCIw+02h2nlDF0s87WwtXpLTgPLVzgGsmhTmD8cWD3fvFbQAgA+d1BJ83kIp5TGPsfUG2qmKuGj7G5WxQDTyNjo6I9BgllPqw== 13511001@ld5-01
diff --git a/.ssh/known_hosts b/.ssh/known_hosts
new file mode 100644
index 0000000..1037c39
--- /dev/null
+++ b/.ssh/known_hosts
@@ -0,0 +1,10 @@
+|1|4ouXspcyeXLk9MS5HO3hdqFq81g=|hjbbJomhYv0CsWI7ckdxU7hFSv8= ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBJtanH+1q+yl+8AEPxMmUJrECSS4rO2uSWjuyawExUE9yAvgZhvNj6ZGwnP2doIaAIexZEW3VKyu/OV8XeH3XGI=
+|1|oOL4YCxRXz+rDqi6zcuBonOLPD4=|pk/Acy/vRFs5aFnvNOrfzGG5o0k= ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCqawCIaI2Y8fcGZQc2h2yag165Ld+m4VTW6wex3XDAaD7bQzprgJGAx9YX7VH2zTJaxETHUEWxdMn5fg1ieuaZx7HFdsAvJKHTvVa743XGj/IIIqYea14p0JEzJhGlzMLTlhvC/VLf1eW+kEoSHJUNvZZSPk8Y6IllNiu36RpnS91zw5hRxXAWfdFdcmsfQGdGG8DJleeFToo0GIrlRSUDTHSCggPbZPvY4X7pqQ9wlb7013MKtZLlEjzVXcdSA76g5qDZXUfVHJpEn0jOXSocPl7vbYJAzyZE6jXdFGP65gZKqWUNuIPZcdIYiHHyBGrHXF8ctH2awhiiW58cUzlx
+|1|YR7+qK5KcOLDZtUvRWHFiECq9GI=|tMmkK6FBVT1yW3D4y6mxuuxuDkI= ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCzQ4tem0VrF5fUZQDGZk3osuRCJPJE5UY2mmUecEp3zMzyf8Xx6lh46nzsKzeA17feOd9GYZFffFozVRefxxuZ+BI/jBzUgVe10Y6Stv8dPQzWTSkUDZGDnhHJSZWd8bCxSx3wkylaIlGvjv2aNQGsYkGCQCn46jqZlUcJSNR7YntKBgAllQfif15IZd86tDazsxoe08TG3Tf8P/CdUiIU7/strpWGSnTxZ3HBD1WYmfiSibB1/L+Fn2xhwOzee5UyvEA7fG5PhfD52uhE39sltmxz25ZPgOKUhy8SC/B+ZMZmyP+DTO8bpjKpTipD05D1tAI/z0JQbHdsOZtoEYWL
+|1|6CKxLssOeFyOZ+rS6vp2hCtYcBg=|M+1Z2r42p6WBVlPM41x+sO10KQs= ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBIfNfhwehJ+NYUPo/Enmsfws4bfwzMbHVTWE/bZkCNooZNuvo/QSVcn7o2bCnFS6LcIgj6Ca6QaqoalnuAN7Sng=
+|1|IabTpmmr7VDGIexa4Dd26r9Z1YE=|DFJCHJwUaSlTNvSbbBkIgQKH2kk= ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC++muKZ7xYtV7vnWk2VvPV2WnKTq919gKTqmMdmiVL9BPyOYsmLYvVjPdk086yPWkYw8bBmLE2JiOCzgVrRSlQP45Mwo09nxRPNl06ENob6TI2TNjHP1ZSWzJF7m0LODHftBNfr8PMa3yEFiBZCM9TosX8nnDbnlAYWBM9oHNRqUkdbvbR6cpybh1HtAr58DQKFsTq7FKTvDSRISLApRhjXl5/b7QAK7/4wHZnNzfRR8n/YYLXcWqQnGMnTdSkGBqh8EZoIQAb8oPCEqT+MPVvW082f/TQwZPXpN7m5K9oJnYCzImPKSyi+f6XLIudauWsj1tmNaWyFp77M2JTOqIT
+|1|7fjYfNizqj3ZCUPGpiEFo6HfA7k=|xpT/hzTow8HBvIvaHCTjXMwld6I= ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCsK98kB7oaXe5HGSVlHOqhsiYW6h3ta9IErUGo0Pm+YYCIB7vjGoQRxMzup/YM8xBWJhUK1J8y5JN5CgCwJWxOXnyDVYPD4oh9mYVdBgR2cy+Njvnb9vTCsflX0nmpterjrUqLQShiag+WSHd/BthfVx5+Op3YqzdDPxI2hav/1yFtCAheWLK7RtFcj3kxD/qyndeuYgDb6bwp8yswoym58bSB8SHThCmO/4aCosgS1J4UhEpDYsJ0ER7di01KrMeb65KXklozftNyejOdDr3QVgiPrqE4+B7gqfRgw6hxaw3BfnR0LjBNK+DdoFQgL0EL0MyhEGI4clIHMWL18lJb
+|1|N189BjCvSnyBlZBuFZsAM/HLJOE=|oekA7xg8WZQqeTzxKAVDhwXVjqs= ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDjJBI3JgmJZovvLIp8iCNk3tPwsABFssBoXVu0UyXhuSaKvWEl1IjtBwAq74jXFirJvKkvzzgfJDK9uXaAS3RQX1/QJvfQM8XO2snuBZ4vriQxPtVmEBNCbwpoNziFabcSozeGFwbSyIzM3BtDvw8G1o0t6iBvx2J5v2G0sF7vIxePELgZH9V4nGc8+Ou4d5Jc/EdK3odk6IvagEiifACY1vFDXQfvSgmex9MyC2vpdJDm9IAr2yudQ7h4MqR7qZztGkbZVmmQGHu1EHxlhQx5Vfbe5H6hRDjghmeOLaGa6vEHmoztXGYjOidotecGlFs+42RzyZN0RcaqU8ZLFRAL
+|1|Syvwyd9ZinBHbMSqdL9kAYHaKzU=|3kdO4/q7LwtwEQVP5O/0z7BYW+g= ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDiw1nZ0EjUaafMxLbB++xIt0Cn6FHldv/PS+UD1Gn+LJ8Z5CboEzxQZAjQQYqVTSMxXhLdhldBm8qSKoUA/83gTBROUHALFdlhwtcc91bqNtHX5doM1JzjTwWU4ifeRKkJHAMuq9BvmyWlR7ZJ+k3bhcELE6aOxTBQIeIHzNGeKGTJQl98URokfQQlviojyG7CB+6M2lH0ol7+ugN7/Vu0DF4K8rtNoPRfmns+bwOFNTFm4Pi2ZiEUn8jTKEusUFeCxfSPv11d8tf9EJEWdm5UNyF2e1pbOF7nOhTkf9UWYIcWNtbCVH9LePFGz5mX7VhNG4ILB7qE2m14XLOAc6yd
+|1|rNtUlxc8NIU2xTAQPEGtYc3mwPs=|QEBMVfSpgTBQHgGdKkkvOv4HSBM= ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCpubw1Vmz4iyJJQ1mX9/DKHjbtpSJ6TY0xYroorjZ+9Ai5l2YNP/LfY4irPTt3yIXNBZ8sXuO5s2J268AjrcVGqcz33tda4ZTvt6fjR7YK2374X6UaxI2ZItftLHeoIiELKSeG4J080Yw5Gj3RvukKe0/OntlDXQkoehAFHv2gKHpnVf4KGiuhCUYU1lhly+guP6CLUOMR7F1t6fZqoGYuT5blJjZaRB82IYGoekN4SvmkcBngQl8w9YY5OqW107dIHYDg4yueuvYK/tvShvAvegRIwtU6izsN07ZOxv6s7fEo59EMD3qpTzIPf8ChKEuttGp/26uWCFR1m0v41oUd
+|1|f2yyrg72IkS0wuXpwkH3mw0kMpg=|uL4Ya9Y7FsizPlEXV5FZIzu/8Iw= ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC9p02cdy2I4CNTQOQmZmLSMOAs3jgAi+8QPqtbaveyXc3HkWblb5qVyF60S+QeSxpzpUVRL5wOqqzSuMWpdmKwfNbcU/j1NpfBevsSLOgx7STDfrnt+A0VqAurLSb2S5ZBJXpDrEFQrGT3ENpxLQGaSTBsMF++IJK4p/sU5t3O0Sh/KTd30TyPZakY1B3KCiC0AD15a+Y+fr2KhbiYwKCTxq8mxZ92dMSVLt3y2GnTF7arRn+q47RWnqswbTrFLIdlzdOF2KrDHMo/gc3NTnPpOlV41sCT6r+yLWxvvQJiuC+iy9PAT+OuJRLlwurfINygX6INcH7qXt8tcBqaSb9p
diff --git a/OpenMP b/OpenMP
new file mode 160000
index 0000000..729bc0e
--- /dev/null
+++ b/OpenMP
@@ -0,0 +1 @@
+Subproject commit 729bc0e69ecfff0a192b8f281917bcd666ffd20f
diff --git a/OpenMPI_2 b/OpenMPI_2
new file mode 160000
index 0000000..30ec4cd
--- /dev/null
+++ b/OpenMPI_2
@@ -0,0 +1 @@
+Subproject commit 30ec4cd385d3ebd652e6b09de03a6fcc218b875d
diff --git a/bucket_sort b/bucket_sort
new file mode 100755
index 0000000000000000000000000000000000000000..054da351b6e99c2e1e308e2f79e623ba0abc82c7
GIT binary patch
literal 8619
zcmeHMeQaCR6~DIg)k5>p!3Zs^ZzGioT1*m3o4^<^P29c|_hW6!7;1TOVmtBhN3fqu
z$_mSrg0RxCYGPA2_6L(Tt&=9Lf1xraHKnL!6PrQ@QuifA1*Vj?T006eTfqCB`|h!y
zUz`bP+F#>Xe&?RwIp==8d(VCM-fsqi8@(QnVDgGD3zEibbP3r{A;y}dsIX44MCjsk
zVx_17QjNbZHN@={^SsKMd7ZNJfmh+*>9v7QuPzhJZ?a**oNGv&$}5qsk~V*BsVy=W
zLX!abQC(-2NfCTNCYW2Q9%G8LABp5Qr~KxWAM-|K&z##wZKHp`()W9HNF?jTM6Z07
zIN1_yf5!?_`jsV81lMJP`C1zm%-QcN@S}QuQsR2<P~|PwFKw#+%=tas9*+&KTYGyv
z+!~K1vtzAeo$FfHt@US8{tnshMpT4sH*MV|tHk}NL83Zehd+%0(m(h2e>^Z)|Feq^
zZvN8xOC$Hq?QVXdm2}hv{NA3P);yw0UqaY5_|xmy5P0+AOK*K=|Jg?#xaq~IEA<zC
z|F?R;6^RsD1<enEEw6z8Xc7F#BKU2<HT>Pw1weCykf-pkRPGkw8vbtjC4ffJEP5LU
z%2dCV_>IDF;U^UCwjTz*96gw?){!bv0?Fl~Ui7Q+R@C4<Cq`rRV%s}}+1J0t3`f$D
z;aJ9sr2Dt@#8b&ge`qis5vDnuNF~jT6-ryCDa_4#%^k|FCmzaVA{pDgvU4mMvxFH1
z6DV=i8c9b&VJfwa<RMC}LlLn|YN)Hr%nXH+Q8AjeGGa6xOIlH=$V`=<2*r}ZjD$m0
z2#Uc>#>N39!{YYTsD*zdiDuC#7Mp^78+yzR|N3I8!+)pUey^Y(5sgPr@keQ|m;grO
zoalyFY#CX-g*0K=6)_A|ued}?P`+V6a*mf$z@u5cw_2ptRFf*rfm7K`YaBSwebTi#
zaA$n%bl_A5lQD6z&X}xze~BiHC#S9Ixt-7$6R*^rWDA=Y?mP#R!s@s2Y*?iuMe+zK
z&(9V>tN%!{hvXS4pCOr=a(-IMzag2LaQ>*2UnZHVe*SsL?U(v;uRmnu&KVPLU*6u|
zcY1m|Mxb%}#B?38)A3qe%>5LGSEGlh{A1hDpj}2Qjdx=rUvK2zdDOe-<T2zY8*+8e
zaZ(j#8&-`Ic8nypKauyr-pIXdoOt(M!!u*#P8qL%oP|G4FZiFa*#DgJAHU~j)K_Gi
zcENM*2~=dysp_SGJnx;P`WO@U9Ik<ZwX#@+rd`Kpu}Z+cFtg|UH{f!9FCNiDl!fuF
zi$@!TI6jJ2&i&%!Lcy2{Tt+>P=K#no=KcV5GH@B#!6NouV5bA~RLcvu8B<SgzYLpQ
z^TyB_<HR|y-4sU_--G!?VBUjlx&rh2e+O53Ll+*I49w>O`3w4FAa5L=JRtMQ1+GGz
znDYR6*3Ox<xnkN@?YgRviA3Hr@pxW5vC7WHWoKvF_45AbR1M&McVPbU1IM4IHox>y
zsU@FBbxPGZb$q(m-k-p#-2DyNIln#`^*5|KK>dK>*o$|Ti?^H&=E5zr##C!<wI+g7
ztMgSF@ZBvlK`7^fIjiMzFt@)Yk1^jFy!D;#T%j-bfpOv^UtjLc_CL*Cna5jr@{+ZJ
z-e)lPZZP*jZ?4c?xbDx!#7U3Qbs_t%F}b@1(<R>07@Q2ZGzXE=f|FLun&9OAmNrbA
zP7H=|s?>WYqle_&Qd5cIgp&eE#7!-kO$>siqFN*#Nko!}W2?i$)~ya}h-i`FNIHXW
znVqS$6$xu`#9P2xC^Li@7E2CmsWjs7U2t0}JS%;7x1kW4_q)-U{oua>4}u>-NB$Um
z9wXuv@PinM7r|-$CGtGBLwLp-Ju9!RtvlqYZ6ut&xklhmYZ_B!dm&n2K=x<<RVWOQ
zaed>)`sU3I*F0J`F791%_icBye1TxH>BWB@`37h#cGovP<?UHk<I_DTTILf5+=hDQ
zz{TdLY7SOM>-CA+sj6pu-}ZVRsILP|^*D(CVc3=TEWl6c(;oOg?*Sd_C6T7M6!4%a
zN95)i8!qA#O2!%`>5SqxyX0$?%-@mt_>silk2flr_g5>GOmmoMh0VlSwV$H+K*aj@
zKQ5$5KJ3+r7598vl`ZpLXU1#G2$hmPRQwvnn-#xaac0GDDtsOgaV!~=QYk+2H`5IY
zAFtMBit!O8bG^Ad+NTh)jBq8})2ZwchNaB!1M9hzS17&h{l9<mKGt2*x*A<V8x_A_
z@u=c^6(^%jJw116Yp|2MRa@&{@9)q$+S)tX+uORdH9N3&86nHYTRU$R!k^ifutJ02
zR@&wxoT6nfJu3Xkloj!JZ|G~aLc>ZLPG<ds*%-E)v9R!yG!n{;2!D8A68YKOO52*f
zSUF><WSL+>myX0k<e*ZcaZC8+w!?2l#*mhq4}Ur(w+;Tth#5_X5)pGG3}2RP4>Ocb
zhxXYXoc{U{%#eF15gS6$DP)L;UzTF$h<%9g52X^c-pjuIZyq$CXzcK~?eyx9O6Ms&
zpCpI}k298UL4w9G`}ccwNTu@%O-iLlRVgV`?RYx<Ew3(dK1XShQt9FL?}h3EjCn5q
zuveGHhZWE%rP93T`K4g76$zT-?9XvvMgiMZgDFl>lKpu;-Vcmo0Q+-X(Nsk_j=)5c
zyZ;^nN^_X~dETy|k1!DTzY>e(u>HfZp_srj$AwPiK;Lsj?)uxP5RV~2Rb_vULnF$c
z+sWm-+ke32&v9*BIgF`-NTgWr_J0N#^$EveUI+5ZpW{1BB&lv?QP4M@(_gF6rA|{B
z4oIo=XjDn&&q8+kk1PLi<^KkEjLVO6{DI4#*R6gPxH*2ay}SO;D}OF#09zNL0p%E$
zQt83{$H);RsQ&EF=X-qax0VeRcbETy%RjHm&#Us^aQVB-pN763e_jW9o#t~ux4m0_
z4ZaNye_qGWst*CTy<0vDUur*>PdjF!*-z;I7ueFPW`ADC_?(u{V|jdX`8<C93SVdW
zd_I$>MuFJgmP#_?7oc$Z3-ukr2SPeKD$ah)ue$to<*%y>y5F~3{wMq?FK$1d^Ywm0
z|AH#N4ctlW|3xQ=G_{q8Ib8>E*;1h%qpJKmHdMGvl=<-3clzg5;4;*UqwmgE{JGya
zuF){BRKC8-&h24W=I-)stIAIwYS-!27btz0t^E~opRg+8RmJaDXJ$Tp&CXP`uMt|6
z?lhHYA68mkUz|!GdWF}Ga(s#4^`IPIDmc!U;|tG&N$*4C=eS&MzpQvaRE}3TKbHA4
zATH`oQ<?T*vT)pUDt)3!a6Bu=mlyAC%JI(>_Yvjzb%-YePDrMG;(FZYRKh=7Jg0R!
z`2@cHd44+-K78Htymi3nw;LCn)05s;-1U^KX<Sx`D>NO;h}K*WPCMN7r+t+dw;xAq
z^fG(D!e?E0x5C}~!LI`MIO@ssBP#KQ{W+!b(Q9?2O7wjsJ-9jG^@BCXkf_wI#oBvH
z=F=ozU8-{ylG8d?sUJvLDgRkgpgz1FNfD1L_<Jh6cZ#EA@2>wcRMb=9z25?SIr^VY
zsfjqu+yPvZNcm%%#21c}2W39xwj{-YSGwoPNc)BJYu_UIOf7={T;=Z`w=V+M7FI{R
z3cShNAVysC_f5j_1;F!~*Qd9EQ~%KMJyA|Rg}4g55#x=H<DK-OvLAPiTk2S{=XH&J
zt_4o{)4c$ZJWB*`0<IC@qSeyg1wy<Rc$2qzL4EF9B%g@Pr$U?@N?RE#8;$yhaMiTA
zXNMW=+u4u%uhK1<X(h}dx+lvBzWZ`OrWsC|!|~K$C~k(WR61jZvSR|<#L;*JC%^u6
z?RTt4&J~R0ZJE9O#Ko4C-Y4u0YdD)o?1PI#GHIV%W;&Q1dN^X485}Rmns40Ey(M4<
zw)WE1ooolE%Ur|4?ETu-?k#;iuySbRt)DPA1-EVJ4w~CGZrmB@H~YIc1Ot?vyqX)z
zWbOOC|8$8+J7slQN4I;r&X;p^CC4{<a-(kF`?(C<mw;}yBYXFCr5Vno%#lzsOjntG
z+fWG{vzysW1WhhAK%N)KYec?MbX+gm*N&C$J<IMbOO>J*i#t^AcDh{U5mJ7&DvSL$
D6<&K&

literal 0
HcmV?d00001

diff --git a/bucket_sort.c b/bucket_sort.c
new file mode 100644
index 0000000..e9c893f
--- /dev/null
+++ b/bucket_sort.c
@@ -0,0 +1,35 @@
+#include <stdio.h>
+ 
+int main()
+{
+  int n, array[1000], c, d, t;
+ 
+  printf("Enter number of elements\n");
+  scanf("%d", &n);
+ 
+  printf("Enter %d integers\n", n);
+ 
+  for (c = 0; c < n; c++) {
+    scanf("%d", &array[c]);
+  }
+ 
+  for (c = 1 ; c <= n - 1; c++) {
+    d = c;
+ 
+    while ( d > 0 && array[d] < array[d-1]) {
+      t          = array[d];
+      array[d]   = array[d-1];
+      array[d-1] = t;
+ 
+      d--;
+    }
+  }
+ 
+  printf("Sorted list in ascending order:\n");
+ 
+  for (c = 0; c <= n - 1; c++) {
+    printf("%d\n", array[c]);
+  }
+ 
+  return 0;
+}
diff --git a/bucket_sort.c.save b/bucket_sort.c.save
new file mode 100644
index 0000000..e69de29
diff --git a/bucket_sort.c.save.1 b/bucket_sort.c.save.1
new file mode 100644
index 0000000..88e5b96
--- /dev/null
+++ b/bucket_sort.c.save.1
@@ -0,0 +1,34 @@
+#include <stdio.h>
+ 
+int main()
+{
+  int n, array[1000], c, d, t;
+ 
+  printf("Enter number of elements\n");
+  scanf("%d", &n);
+ 
+  printf("Enter %d integers\n", n);
+ 
+  for (c = 0; c < n; c++) {
+    scanf("%d", &array[c]);
+
+  for (c = 1 ; c <= n - 1; c++) {
+    d = c;
+ 
+    while ( d > 0 && array[d] < array[d-1]) {
+      t          = array[d];
+      array[d]   = array[d-1];
+      array[d-1] = t;
+ 
+      d--;
+    }
+  }
+ 
+  printf("Sorted list in ascending order:\n");
+ 
+  for (c = 0; c <= n - 1; c++) {
+    printf("%d\n", array[c]);
+  }
+ 
+  return 0;
+}
diff --git a/insertion_sort.c b/insertion_sort.c
new file mode 100644
index 0000000..e09e746
--- /dev/null
+++ b/insertion_sort.c
@@ -0,0 +1,19 @@
+/* Copyrights http://www.programmingsimplified.com/c/source-code/c-program-insertion-sort */
+/* insertion sort ascending order */
+ 
+#include <stdio.h>
+ 
+void insertionSort(int array[], int n) {
+    	int c, d, t;
+	for (c = 1 ; c <= n - 1; c++) {
+        	d = c;
+    
+        	while ( d > 0 && array[d] < array[d-1]) {
+        		t          = array[d];
+        		array[d]   = array[d-1];
+        		array[d-1] = t;
+    
+        		d--;
+       		 }
+	 }
+}
diff --git a/omp_hello.c.save b/omp_hello.c.save
new file mode 100644
index 0000000..d9d70d3
--- /dev/null
+++ b/omp_hello.c.save
@@ -0,0 +1,6 @@
+#include <stdio.h>
+#include <stdlib.h>
+
+
+
+
diff --git a/omp_hello.c.save.1 b/omp_hello.c.save.1
new file mode 100644
index 0000000..d9d70d3
--- /dev/null
+++ b/omp_hello.c.save.1
@@ -0,0 +1,6 @@
+#include <stdio.h>
+#include <stdlib.h>
+
+
+
+
diff --git a/opm.c b/opm.c
new file mode 100644
index 0000000..85ada67
--- /dev/null
+++ b/opm.c
@@ -0,0 +1,145 @@
+/*
+ *	Praktikum III IF3230
+ * ================================
+ *	13511001 - Thea Olivia
+ *	13511025 - Lubis Sucipto
+ *
+ */
+
+#include <omp.h>
+#include <mpi.h>
+#include <iostream>
+#include <stdio.h>
+#include <time.h>
+#include <stdlib.h>
+#include <limits.h>
+#include <string.h>
+#include "random.c"
+
+using namespace std;
+
+// insertion sort
+void insertionSort(int array[], int n) {
+        int c, d, t;
+
+	#pragma omp parallel for insertion(sort_insertion)
+        for (c = 1 ; c <= n - 1; c++) {
+                d = c;
+
+                while ( d > 0 && array[d] < array[d-1]) {
+                        t          = array[d];
+                        array[d]   = array[d-1];
+                        array[d-1] = t;
+
+                        d--;
+                 }
+         }
+}
+
+// meng-generate integer random yang unik
+void random(){
+	randomz();
+}
+
+int main(int argc, char *argv[]){
+
+	MPI_Init( &argc, &argv);
+	
+	int world_rank;
+	MPI_Comm_rank(MPI_COMM_WORLD, &world_rank);
+	int world_size;
+	MPI_Comm_size(MPI_COMM_WORLD, &world_size);
+
+	int * compl_arr;
+	int i,j;
+		int num_elmts;
+
+	if (world_rank==0){
+		scanf("%d",&num_elmts);
+
+		compl_arr = (int*) malloc(num_elmts*sizeof(int));
+
+		//random elemen
+		randomarr(compl_arr,num_elmts);
+
+	}
+
+	//waktu
+	double total_time = 0;
+	MPI_Barrier(MPI_COMM_WORLD);
+	total_time -= MPI_Wtime();
+
+	//bagi-bagi
+	int * num_elmts_in_buckets;
+	int * buckets_bin;
+	int ** buckets;
+
+	if (world_rank==0){
+		num_elmts_in_buckets = (int*) malloc(world_size*sizeof(int));
+		buckets = (int**) malloc(world_size*sizeof(int*));
+		buckets_bin = (int*) malloc(world_size*sizeof(int));
+
+		for (i=0;i<world_size;i++) buckets_bin[i]=num_elmts*(i+1)/world_size;
+
+		for (i=0;i<world_size;i++){ num_elmts_in_buckets[i]=0; buckets[i]=malloc(num_elmts*sizeof(int));}
+
+		for (i=0;i<num_elmts;i++){
+			for (j=0;j<world_size;j++){
+				if (compl_arr[i]<=buckets_bin[j]){
+					buckets[j][num_elmts_in_buckets[j]]=compl_arr[i];
+					num_elmts_in_buckets[j]++;
+					break;
+				}
+			}
+		}
+
+		for (i=1;i<world_size;i++){
+			MPI_Send(&num_elmts_in_buckets[i],1,MPI_INT,i,1,MPI_COMM_WORLD);
+			MPI_Send(buckets[i],num_elmts_in_buckets[i],MPI_INT,i,2,MPI_COMM_WORLD);
+		}
+	}
+
+	MPI_Status recv_status;
+
+	int num_elmts_in_this_bucket;
+	if (world_rank==0)
+		num_elmts_in_this_bucket=num_elmts_in_buckets[0];
+	else
+		MPI_Recv(&num_elmts_in_this_bucket,1,MPI_INT,0,1,MPI_COMM_WORLD,&recv_status);
+
+	int * loc_arr = (int*) malloc(num_elmts_in_this_bucket*sizeof(int));
+	if (world_rank==0)
+		memcpy(loc_arr,buckets[0],num_elmts_in_this_bucket*sizeof(int));
+	else
+		MPI_Recv(loc_arr,num_elmts_in_this_bucket,MPI_INT,0,2,MPI_COMM_WORLD,&recv_status);
+
+	sort(loc_arr, num_elmts_in_this_bucket);
+
+	MPI_Barrier(MPI_COMM_WORLD);
+	total_time +=MPI_Wtime();
+
+	int compl_arr_i;
+	if (world_rank==0){
+		memcpy(compl_arr,loc_arr,num_elmts_in_this_bucket*sizeof(int));
+		compl_arr_i=num_elmts_in_this_bucket;
+		for (i=1;i<world_size;i++){
+			MPI_Recv(&compl_arr[compl_arr_i],num_elmts_in_buckets[i],MPI_INT,i,2,MPI_COMM_WORLD,&recv_status);
+			compl_arr_i+=num_elmts_in_buckets[i];
+		}
+	}else
+		MPI_Send(loc_arr, num_elmts_in_this_bucket, MPI_INT, 0, 2, MPI_COMM_WORLD);
+	free(loc_arr);
+
+	if (world_rank==0){
+		printf("waktu : %f\n", total_time);
+		free(num_elmts_in_buckets);
+		for (i=0;i<world_size;i++)
+			free(buckets[i]);
+		free(buckets);
+		free(buckets_bin);
+		free(compl_arr);
+	}
+
+	MPI_Finalize();
+	return 0;
+}
diff --git a/random b/random
new file mode 100755
index 0000000000000000000000000000000000000000..b935e541926498db6f256554ce2fa228770662b3
GIT binary patch
literal 8644
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

literal 0
HcmV?d00001

diff --git a/random.c b/random.c
new file mode 100644
index 0000000..3f46676
--- /dev/null
+++ b/random.c
@@ -0,0 +1,30 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <mpi.h>
+#include <assert.h>
+
+#define MIN 1
+
+void randomz() {
+int n;
+int imin, in;
+int vektor[10];
+
+imin = 1;
+
+for(in = 0; in < n && imin < MIN; ++in)
+{
+	int rmin = MIN - imin;
+	int rn = n - in;
+	if (rand() % rn < rmin)
+		vektor[imin++] = in + 1;
+}
+
+assert(imin == MIN);
+}
+
+int main()
+{
+	randomz();
+	return 0;
+}
diff --git a/sendreceive.c b/sendreceive.c
index 4a5b6d8..da0e85c 100644
--- a/sendreceive.c
+++ b/sendreceive.c
@@ -1,3 +1,4 @@
+#include <omp.h>
 #include "mpi.h" 
 #include <stdio.h> 
  
-- 
GitLab