Senin, 19 Juni 2017

NILAI TUGAS MANDIRI (PRAKTIKUM 13)


NILAI KELOMPOK B (praktikum 13)

1. Dimas Adi Pratama - 064001600003
2. Muhamad Ichsan G. - 064001600023

Orkom & S.O.
1. Nilai Praktikum dan laporan 1 - 12 = 96,6
2. Nilai TM 1 orkom = 95
3. Nilai TM 2 orkom = 90

Nilai rata-rata = (96,6 + 95 + 90)/3 = 93,8

Jarkom
1. Nilai Praktikum dan laporan 1-12 = 94,6
2. Nilai TM jarkom = 75

Nilai rata-rata = (94,6+75)/2= 84,8

Scanning Kartu Praktikum

Kartu milik Dimas Adi P.



Kartu milik M. Ichsan G.









Sabtu, 17 Juni 2017

TUGAS MANDIRI JARKOM MEMBUAT MAIL SERVER

LAPORAN TUGAS MANDIRI 1 JARKOM


 
LAPORAN PRAKTIKUM JARINGAN KOMPUTER
KONFIGURASI MAIL SERVER

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNTXhFj2NfpdkQzsGA6_vqYtcCBZdJx9zJHuYHzBH0PjdBJpoXnHoHveuHdm_pttfLqiFpjSHoN0LMWp6lM4Ce0yK4UitO55S90y93J0qiGRSDbAEXya7Jz4k4jU_pZmlpMvoCR6OOXgk/s1600/logo+trisakti.jpg


Disusun Oleh :
MUHAMAD ICHSAN G (064001600023)
DIMAS ADI PRATAMA (064001600003)


Teknik Informatika
Fakultas Teknologi Industri
Universitas Trisakti
Jakarta – Indonesia
2017



Tujuan

                  Laporan ini dibuat untuk menyelesaikan praktikum tugas mandiri matakuliah Jaringan Komputer. Selain itu, hal ini juga beguna sebagai panduan umum dalam membuat mail server.
.
Teori Percobaan

Mail server adalah server yang memungkinkan pengguna (user) untuk dapat mengirim dan menerima surat elektronik  atau e-mail satu sama lain dalam stu jaringan atau dengan internet.
layanan ini menggunakan arsitektur client-server, Artinya ada aplikasi client mengakses server email. Protocol yang umum digunakan adalah protocol SMTP (SIMPLE MAIL TRANSFER PROTOCOL), pop3 (post office protocol v3) imap smtp digunakan sebagai setandar untuk menampung data mendistribusikan email. sedangkan pop3 dan imap digunakan agar user dapat mengambil dan membaca email secara remote.
sedangkan web mail server adalah sarana yang memungkinkan user dapat mengakses e-mail melalui web
dalam kata lain web mail server adalah interfaces dengan kata lain sebuah e-mail yang berada di dalam web sehingga jika membuka e-mail tersebut kita harus membuka web terlebih dahulu dengan koneksi internet dan ini berbasis web.
Protokol Pada Mail Server, Protokol yang umum digunakan antara lain protokol SMTP, POP3 dan IMAP. SMTP (Simple Mail Transfer Protocol) digunakan sebagai standar untuk menampung dan mendistribusikan email. POP3 (Post Office Protocol v3) dan IMAP (Internet Mail Application Protocol) digunakan agar user dapat mengambil dan membaca email secara remote yaitu tidak perlu login ke dalam sistem shelll mesin mail server tetapi cukup menguhubungi port tertentu dengan mail client yang mengimplementasikan protocol POP3 dan IMAP.
SMTP Server : Saat anda mengirimkan email maka email anda akan ditangani SMTP Server dan akan dikirim ke SMTP Server tujuan, baik secara langsung maupun melalui beberapa SMTP Server dijalurnya. Apabila server tujuan terkoneksi maka email akan dikirim, namun apabila tidak terjadi koneksi maka akan dimasukan ke dalam queue dan di resend setiap 15 menit, apabila dalam 5 hari tidak ada perubahan maka akan diberikan undeliver notice ke inbox pengirim.
POP3 Server : Jika menggunakan POP3 Server, apabila kita akan membaca email maka email pada server di download sehingga email hanya akan ada pada mesin yang mendownload email tersebut (kita hanya bisa membaca email tersebut pada device yang mendownload email tersebut).
IMAP Server : Jika menggunakan IMAP Server, email dapat dibuka kembali lewat device yang berbeda.





CARA PERCOBAAN

  1. Instal debian dan masuk sebagai root

  1. Setting file Interfaces yang berada di etc/network/interfaces

  1. Kita coba ping IP yang telah kita buat

  1. Selanjutnya install bind9
  2. Setting konfigurasi file named.conf.local yang berada di etc/bind/named.conf.local

  1. Setting file domain, yang berada di etc/bind/domain

  1. Setting file ip, yang berada di etc/bind/ip

  1. Uji IP dan domain dengan nslookup

  1. Kemudian install postif dan postfix pada debian kita
  2. Kemudian install courier-imap dan courier-pop

  1. Kemudian konfigurasi postfix dengan perintah, dpkg reconfigure postfix atau secara manual kita bisa mengkonfigurasikan nya melalui file main.cf yang terletak di etc/postfix/main.cf




  1. Buat user email baru dengan mengetikan perintah adduser NamaUser

  1. Kita install squirrelmail pada debian kita
  2. Lalu konfigurasikan file apeche2.conf yang terletak di etc/apache2/apache2.conf

  1. Lalu konfigurasi file apache.conf yang terletak di etc/squirrelmail/apache.conf

  1. Terakhir kita tes domain mail dengan mengetikan lynx mail kita

  1. Setting IP dan DNS pada Virtualbox


  1. Kita tes kirim-pengiriman e-mail dibrowser kita
DATA – DATA
Kesimpulan
Mail server adalah server yang memungkinkan pengguna (user) untuk dapat mengirim dan menerima surat elektronik  atau e-mail satu sama lain dalam stu jaringan atau dengan internet.
layanan ini menggunakan arsitektur client-server, Artinya ada aplikasi client mengakses server email. Protocol yang umum digunakan adalah protocol SMTP (SIMPLE MAIL TRANSFER PROTOCOL), pop3 (post office protocol v3) imap smtp digunakan sebagai setandar untuk menampung data mendistribusikan email. sedangkan pop3 dan imap digunakan agar user dapat mengambil dan membaca email secara remote.
    Mail server berfungsi sebagai pengatur atau penerima dan penyalur respon atas email yang masuk. Tak hanya itu fungsi utama dari program ini adalah sebagai aplikasi yang digunakan untuk menginstal email. Oleh karena itu aplikais ini sangat penting karena akan mengatur jalannya email dan merespon setiap email yang masuk.
Pada dasarnya ada dua cara kerja program ini. pertama, proses pengiriman email akan melewati tahapan yang agak panjang. saat email dikirim karena email akan disimpan pada server utama atau email server itu sendiri berdasarkan tujuan email akan dikirimkan kemana. Umumnya file ini berisi informasi yang dimana sumber tujuan, serta adanya waktu pengiriman. Nah saat kamu sebagai user membaca email berarti user telah mengakses server email tersebut dan membaca email yang tersimpan pada server yang di tampilkan pada browser pengguna.

TUGAS MANDIRI 2 ORKOM PROGRAM THREAD






LAPORAN TUGAS MANDIRI
ORGANISASI KOMPUTER DAN SISTEM OPERASI
PROGRAM THREAD

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNTXhFj2NfpdkQzsGA6_vqYtcCBZdJx9zJHuYHzBH0PjdBJpoXnHoHveuHdm_pttfLqiFpjSHoN0LMWp6lM4Ce0yK4UitO55S90y93J0qiGRSDbAEXya7Jz4k4jU_pZmlpMvoCR6OOXgk/s1600/logo+trisakti.jpg





Disusun Oleh Kelompok B :

MUHAMAD ICHSAN G (064001600023)
 DIMAS ADI PRATAMA (064001600003)


Teknik Informatika
Fakultas Teknologi Industri
Universitas Trisakti
Jakarta – Indonesia
2017


Tujuan

Laporan ini dibuat untuk menyelesaikan praktikum sebelas matakuliah Organisasi computer dan Sistem Operasi. Selain itu, hal ini juga beguna sebagai panduan umum penggunaan fungsi thread terminal pada operasi sistem linux.


Teori Percobaan

Ketika pertama kali dikembangkan, Linux tidak didukung dengan threading di dalam kernelnya, tetapi dia mendukung proses-proses sebagai entitas yang dapat dijadwalkan melalui clone() system calls. Sekarang Linux mendukung penduplikasian proses menggunakan system call clone() dan fork(). Clone() mempunyai sifat mirip dengan fork(), kecuali dalam hal pembuatan copy dari proses yang dipanggil dimana ia membuat sebuah proses yang terpisah yang berbagi address space dengan proses yang dipanggil. Pembagian address space dari parent processmemungkinkan cloned task bersifat mirip dengan thread yang terpisah. Pembagianaddress space ini dimungkinkan karena proses direpresentasikan di dalam Kernel Linux. Di dalam Kernel Linux setiap proses direpresentasikan sebagai sebuah struktur data yang unik. Jadi, daripada menciptakan yang baru maka struktur data yang baru mengandung pointer yang menunjuk ke tempat dimana data berada. Jadi ketika fork() dipanggil, proses yang baru akan tercipta beserta duplikasi dari segala isi di struktur data di parent process, namun ketika clone() dipanggil, ia tidak menduplikasi parent processnya tetapi menciptakan pointer ke struktur data padaparent process yang memungkinkan child process untuk berbagi memori dan sumber daya dari parent processnya. Project LinuxThread menggunakan system call ini untuk mensimulasi thread di user space. Sayangnya, pendekatan ini mempunyai beberapa kekurangan, khusunya di area signal handling, scheduling, dan interprocess synchronization primitive.
Untuk meningkatkan kemampuan Thread Linux, dukungan kernel dan penulisan ulang pustaka thread sangat diperlukan. Dua project yang saling bersaing menjawab tantangan ini. Sebuah tim yang terdiri dari pengembang dari IBM membuat NGPT (Next Generation POSIX Threads). Sementara pengembang dariRed Hat membuat NPTL (Native POSIX Thread Library).Sebenarnya Linux tidak membedakan antara proses dan thread. Dalam kenyataannya, Linux lebih menggunakan istilah task dibandingkan proses dan thread ketika merujuk kepada pengaturan alur pengontrolan di dalam program.

CARA PERCOBAAN

  1. Buka terminal pada Linux


  1. Buka file yang sudah dibuat dengan cara tulis nano threadtm2.c


  1. Tulis sourcodenya seperti gambar berikut

#include <pthread.h>
#include <stdio.h>
#include <stdlib.h>

/*  
Struktur dibawah ini mengandung informasi yang dibutuhkan untuk mengakses fungsi dotprod untuk mengakses data yang diinputnya dan menaruh outputnya kedalam struktur.
Struktur ini tidak berubah dari bentuk sekuensial. Program ini adalah program thread yang mengeluarkan output dari variabel mutexnya
*/

typedef struct
{
  double      *a;
  double      *b;
  double     sum;
  int     veclen;
} DOTDATA;

/* Mendefinisikan variabel yang bisa diakses secara global atau member variabel dan jg mutex*/

#define NUMTHRDS 10
#define VECLEN 1000
  DOTDATA dotstr;
  pthread_t callThd[NUMTHRDS];
  pthread_mutex_t mutexsum;

/*
Fungsi dotprod diaktifkan ketika thread itu telah dibuat.
Seperti sebelumnya, semuainput untuk rutin ini diperoleh dari struktur dengan tipe DOTDATA dan semua output dari fungsi ini ditulis kedalam struktur ini. Keuntungan dari keluaran ini adalah bagi program multithread: ketika thread dibuat kita melewati satu argumen untuk fungsi yg diaktifkan biasanya argumen ini adalah angka thread. Semua informasi lainnya yang dibutuhkan oleh fungsi diakses dari struktur global.
*/

void *dotprod(void *arg)
{

/* Mendefinisikan dan menggunakan local variabel demi kemudahan*/

  int i, start, end, len ;
  long offset;
  double mysum, *x, *y;
  offset = (long)arg;
    
  len = dotstr.veclen;
  start = offset*len;
  end   = start + len;
  x = dotstr.a;
  y = dotstr.b;

/*
Perform the dot product and assign result
to the appropriate variable in the structure.
*/
  mysum = 0;
  for (i=start; i<end ; i++)
   {
     mysum += (x[i] * y[i]);
   }

/*
Lock a mutex prior to updating the value in the shared
structure, and unlock it upon updating.
*/
  pthread_mutex_lock (&mutexsum);
  dotstr.sum += mysum;
  printf("Thread bagian %ld melakukan %d untuk %d=\nJumlah=%f\nTotal=%f\n\n",offset,start,end,mysum,dotstr.sum);
  pthread_mutex_unlock (&mutexsum);

  pthread_exit((void*) 0);
}

/*
The main program creates threads which do all the work and then
print out result upon completion. Before creating the threads,
The input data is created. Since all threads update a shared structure, we
need a mutex for mutual exclusion. The main thread needs to wait for
all threads to complete, it waits for each one of the threads. We specify
a thread attribute value that allow the main thread to join with the
threads it creates. Note also that we free up handles  when they are
no longer needed.
*/

int main (int argc, char *argv[])
{
long i;
double *a, *b;
void *status;
pthread_attr_t attr;

/* Assign storage and initialize values */

a = (double*) malloc (NUMTHRDS*VECLEN*sizeof(double));
b = (double*) malloc (NUMTHRDS*VECLEN*sizeof(double));
for (i=0; i<VECLEN*NUMTHRDS; i++) {
 a[i]=1;
 b[i]=a[i];
 }

dotstr.veclen = VECLEN;
dotstr.a = a;
dotstr.b = b;
dotstr.sum=0;

pthread_mutex_init(&mutexsum, NULL);
        
/* Buat thread untuk melakukan dotprodak */
pthread_attr_init(&attr);
pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_JOINABLE);

for(i=0;i<NUMTHRDS;i++)
 {
 /* Setiap thread bekerja dalam himpunan data yang berbedaEach thread works on a different set of data.
  * Offsetnya dispesifikasikan oleh 'i'. Ukuran datanya tiap thread diindikasikan oleh VECLEN
  */
  pthread_create(&callThd[i], &attr, dotprod, (void *)i);
  }

pthread_attr_destroy(&attr);
/* Tunggu thread lainnya*/

for(i=0;i<NUMTHRDS;i++) {
 pthread_join(callThd[i], &status);
 }
/* Setelah bergabung, print output hasilnya dan bersihkan.*/

printf ("Sum =  %f \n", dotstr.sum);
free (a);
free (b);
pthread_mutex_destroy(&mutexsum);
pthread_exit(NULL);
}

  1. Keluar dari editor dan save
  2. Compile file threadtm2.c


  1. Jalankan thrdcreat1.c












  1. lihat outputnya


  1. Selesai



Data – Data


KESIMPULAN
          
Thread merupakan sebuah alur kontrol proses yang dapat dijadwalkan pengeksekusiannya oleh sistem operasi. Selanjutnya, bayangkan sebuah program main mempunyai berbagai prosedur (fungsi) dan fungsi-fungsi tersebut dapat dijalankan secara serentak dan atau bebas dijalankan oleh sistem operasi. Dan itulah yang disebut sebagai multithread.