Jumat, 11 April 2014

contoh koding thread

Coba menggunakan NetBeans java, 
    buat class dengan nama: PrintNameThread 

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author ACER
 */// Subclass extends Thread class
public class PrintNameThread extends Thread {
  
    PrintNameThread(String name) {
        super(name);
    }
  
    // Override the run() method of the Thread class.
    // This method gets executed when start() method
    // is invoked.
    @Override
    public void run() {
        System.out.println("run() method of the " + this.getName() + " thread is called" );
      
        for (int i = 0; i < 10; i++) {
            System.out.print(this.getName());
        }
    }
}





  Dan selanjutnya 
Buat main class dengan nama: ExtendThreadClassTest0
  
/*
 * T/o change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author ACER
 */
public class ExtendThreadClassTest0 {
  
    public static void main(String args[]) {
      
        // Create object instance of a class that is subclass of Thread class
        System.out.println("Creating PrintNameThread object instance..");
        PrintNameThread pnt1 =
                new PrintNameThread("A");
      
        // Start the thread by invoking start() method
        System.out.println("Calling start(A) method of " + pnt1.getName() + " thread");
        pnt1.start();
       
        System.out.println("Creating PrintNameThread object instance..");
        PrintNameThread pnt2 =
                new PrintNameThread("B");
        System.out.println("Calling start() method of " + pnt2.getName() + " thread");
        pnt2.start();
      
        System.out.println("Creating PrintNameThread object instance..");
        PrintNameThread pnt3 =
                new PrintNameThread("C");
        System.out.println("Calling start() method of " + pnt3.getName() + " thread");
        pnt3.start();
      
    }
}
 
jika anda berhasil maka tidak terjadi error pada saat meraning,,, ok,,,!!

silahkan coba ran semoba berhasil, dan menambah pemahaman anda tentang materi ini,, trimss,,,

Selasa, 08 April 2014

program C++ sederhana

Contoh Program C++ (Array 2 Dimensi, Sorting dan Looping)

Contoh Program C++ (Array 2 Dimensi, Sorting dan Looping) - Program ini merupakan hasil program kerja kelompok, dimana didalam program ini terdapat beberapa fungsi seperti array, looping dengan for, penyortingan dengan menggunakan algoritma swap, berikut ini adalah screenshot dan source code lengkap contoh program array 2 dimensi gratis:

Screenshot Program:





Sourcode Program:

#include<constream.h>
#include<stdio.h>
#include<process.h>
#include<string.h>
long double input();
void main()
{
clrscr();
int a,p,e,y;
cout<<"Masukan Jumlah Mahasiswa : ";
a=input();
char nama[50][25],ulang,cari[25],m,n,*swap;
long double nilai[50],tmp;
for(int b=0;b<a;b++)
  {
  cout<<"Masukan Nama Ke ["<<b+1<<"] \t: ";gets(nama[b]);
  cout<<"Masukan Nilai "<<nama[b]<<" \t: ";nilai[b]=input();
  }
clrscr();
cout<<"Data Nilai (Sebelum di Sorting)\n";
cout<<"NO.  NAMA \t\tNILAI\n\n";
for(int c=0;c<a;c++)
  {
  cout<<c+1<<"   "<<nama[c];
  gotoxy(25,4+c);cout<<nilai[c]<<endl;
  }
for(int f=0;f<a-1;f++)
  {
  for(int g=f+1;g<a;g++)
    {
    if(nilai[f]<nilai[g])
      {
      tmp=nilai[f];
      nilai[f]=nilai[g];
      nilai[g]=tmp;
      strcpy(swap,nama[f]);
      strcpy(nama[f],nama[g]);
      strcpy(nama[g],swap);
      }
    }
  }
gotoxy(40,1);cout<<"Data Nilai (Setelah di Sorting)\n";
gotoxy(40,2);cout<<"NO.  NAMA \t\tNILAI\n\n";
for(int h=0;h<a;h++)
  {
  gotoxy(40,4+h);cout<<h+1<<"   "<<nama[h];
  gotoxy(65,4+h);cout<<nilai[h];
  cout<<endl;
  }
reset:
{
cout<<"\nCari Nilai Berdasarkan Nama : ";
gets(cari);
//n=strlen(cari);
p=0;
for(int d=0;d<a;d++)
  {
 // m=strlen(nama[d]);
 // if(m==n)
  y=strcmp(cari,nama[d]);
  if(y==0)
    {
    e=d;
    p=p+1;
    }
  }
if(p!=0)
{
cout<<"Data Yang Anda Cari\n";
cout<<"Nama\t: "<<nama[e];
cout<<"\nNilai\t: "<<nilai[e];
}
else
{
cout<<"Maaf, Nama yang Anda Masukan Tidak Terdaftar";
}
cout<<"\nCari Lagi (Y/T)? :";
cin>>ulang;
}
if(ulang=='y'||ulang=='Y')
{
goto reset;
}
else
{
exit(1);
}
getch();
}
long double input()
{
long double ab;
cin>>ab;
return ab;
}

proses thread



 thread

1. yang dimaksud dengan proses dan thread
 Proses dan Thread merupakan dua bagian yang saling berhubungan satu sama lain ,Proses secara harfiah adalah tahap berjalannya pengeksekusian program . Sistem operasi mengeksekusi proses dengan dua cara yaitu batch system  yang mengeksekusi  jobs  dan  time-shared system  yang mengatur pengeksekusian program pengguna ( user) atau tasks. Proses berisikan stack yang menyimpan alamat register dan juga alamat dari sebuah instruksi yang berisikan data  – data  yang dibutuhkan untuk instruksi selanjutnya. 

      Thread adalah alur kontrol dari sebuah proses dan thread bisa juga dibilang "Proses Ringan (Light Weight Process)". Suatu proses yang multithreaded mengandung beberapa perbedaan alur kontrol dengan ruang alamat yang sama. Keuntungan dari multithreaded meliputi peningkatan respon dari user, pembagian sumber daya proses, ekonomis, dan kemampuan untuk mengambil keuntungan dari arsitektur multiprosesor User level thread adalah thread yang tampak oleh programmer dan tidak diketahui oleh kernel. User level thread secara tipikal dikelola oleh sebuah library thread di ruang user. Kernel level thread didukung dan dikelola oleh kernel sistem operasi. Secara umum, user level thread lebih cepat dalam pembuatan dan pengelolaan dari pada kernel thread. Ada tiga perbedaan tipe dari model yang berhubungan dengan user dan kernel thread.

  2. perbedaan proses dengan thread
  • Pembentukan Thread membutuhkan waktu yang lebih sedikit daripada pembentukan process.
  • Membutuhkan waktu yang lebih sedikit untuk mengakhiti Thread daripada process.
  • Lebih mudah dan cepat untuk melakukan switch antar Thread daripada switch antar   process.
  •  Thread menggunakan secara bersama ruang alamat dari proses yang menciptakannya. Proses memiliki ruang alamat sendiri-sendiri.
  • Terhadap thread lain dalam satu proses. Proses hanya dapat mengendalikan proses anakannya. Perubahan pada thread utama seperti pembatalan atau perubahan prioritas dapat mempengaruhi tingkah laku thread lain dalam satu proses. Perubahan pada parent proses tidak mempengaruhi  proses anakan.


   3.  Gambaran dan penjelasan keadaan state proses
Process State >> berisi informasi status proses. (new,running,waiting,ready,terminated). Status proses selalu berubah-ubah selama suatu program dieksekusi atau dijalankan. 
   
 Beberapa status tersebut ialah :

 - New            : Proses baru diciptakan.
 - Running      : Proses sedang dijalankan.
 - Waiting       : Proses sedang menunggu suatu kondisi tertentu untuk 

                         bisa berjalan. 
 - Ready         : Proses menunggu untuk dilayani processor.
 - Terminated : Proses telah menyelesaikan eksekusi.
                                
                                       
4. yang dimaksut multithreading
Multi-threading adalah Kemampuan sistem untuk mendukung interaksi user yang berhubungan dengan lebih dari satu task pada satu waktu. Multithreading dianggap berkaitan erat dengan pengertian multi thread yang merupakan jalannya beberapa proses dengan urutan yang cepat (multitasking) dalam satu program. Multithreading ini merupakaan teknik manipulasi data dimana node-node pada struktur pohon data berisi penunjuk ke node yang lebih tinggi untuk membuat lintasan struktur menjadi lebih efisien.

Keuntungan MultiThreading,Multiprocessing merupakan penggunaan dua atau lebih CPU dalam sebuah sistem komputer. Multitasking merupakan metode untuk menjalankan lebih dari satu proses dimana terjadi pembagian sumberdaya seperti CPU. Multithreading adalah cara pengeksekusian yang mengizinkan beberapa thread terjadi dalam sebuah proses, saling berbagi sumber daya tetapi dapat dijalankan secara independen.
Keuntungan dari sistem yang menerapkan multithreading dapat kita kategorikan menjadi 4 bagian:
Responsif.
Aplikasi interaktif menjadi tetap responsif meskipun sebagian dari program sedang diblok atau melakukan operasi lain yang panjang. Umpamanya, sebuah thread dari web browser dapat melayani permintaan pengguna sementara thread yang lain berusaha menampilkan gambar.
Berbagi sumber daya.
Beberapa thread yang melakukan proses yang sama akan berbagi sumber daya. Keuntungannya adalah mengizinkan sebuah aplikasi untuk mempunyai beberapa thread yang berbeda dalam lokasi memori yang sama.
Ekonomis.
Pembuatan sebuah proses memerlukan pengalokasian memori dan sumber daya. Alternatifnya adalah dengan menggunakan thread, karena thread membagi memori dan sumber daya yang dimilikinya sehingga lebih ekonomis untuk membuat thread dan context switching thread. Akan susah mengukur perbedaan waktu antara thread dan switch, tetapi secara umum pembuatan dan pengaturan proses akan memakan waktu lebih lama dibandingkan dengan thread. Pada Solaris, pembuatan proses memakan waktu 30 kali lebih lama dibandingkan pembuatan thread sedangkan proses context switch 5 kali lebih lama dibandingkan context switching thread.
Utilisasi arsitektur multiprosesor.
Keuntungan dari multithreading dapat sangat meningkat pada arsitektur multiprosesor, dimana setiap thread dapat berjalan secara paralel di atas procesor yang berbeda. Pada arsitektur processor tunggal, CPU menjalankan setiap thread secara bergantian tetapi hal ini berlangsung sangat cepat sehingga menciptakan ilusi paralel, tetapi pada kenyataanya hanya satu thread yang dijalankan CPU pada satu-satuan waktu.
Model-Model MultiThreading:
Model Many-to-One.
Model ini memetakan beberapa thread tingkatan pengguna ke sebuah thread. tingkatan kernel. Pengaturan thread dilakukan dalam ruang pengguna sehingga efisien. Hanya satu thread pengguna yang dapat mengakses thread kernel pada satu saat. Jadi Multiple thread tidak dapat berjalan secara paralel pada multiprosesor. Contoh: Solaris Green Threads dan GNU Portable Threads.
Model One-to-One.
Model ini memetakan setiap thread tingkatan pengguna ke setiap thread. Ia menyediakan lebih banyak concurrency dibandingkan model Many-to-One. Keuntungannya sama dengan keuntungan thread kernel. Kelemahan model ini ialah setiap pembuatan thread pengguna memerlukan tambahan thread kernel. Karena itu, jika mengimplementasikan sistem ini maka akan menurunkan kinerja dari sebuah aplikasi sehingga biasanya jumlah thread dibatasi dalam sistem. Contoh: Windows NT/XP/2000 , Linux, Solaris 9.
Model Many-to-Many.
Model ini memultipleks banyak thread tingkatan pengguna ke thread kernel yang jumlahnya sedikit atau sama dengan tingkatan pengguna. Model ini mengizinkan developer membuat thread sebanyak yang ia mau tetapi concurrency tidak dapat diperoleh karena hanya satu thread yang dapat dijadwalkan oleh kernel pada suatu waktu. Keuntungan dari sistem ini ialah kernel thread yang bersangkutan dapat berjalan secara paralel pada multiprosessor.
  
trimakasih sudah mampir di blog saya,,, silahkan komen'' sahabat,, trims....