Jumat, 26 November 2010

Menejemen Umum#

Tugas Softskill 3

1. Jelaskan apa yang dimaksud dengan koordinasi ?
2. Apakah pengertian dari wewenang ?
3. Jelaskan pengertian wewengan lini, wewenang staf dan wewenagn staf fungsional ?
4. Sebutkan dan jelaskan dengan singkat teori motivasi dari beberapa ahli ?
5. Mengapa komunikasi sangat penting bagi suatu organisasi, jelaskan dengan singkat ?    
 JAWAB :  
1. Koordinasi didefinisikan sebagai proses pengintegrasian ( penyatuan) tujuan dan kegiatan   perusahaan pada satuan yang terpisah dalam suatuorganisasi untuk mencapai tujuan organisasi secara efisien.      Koordinasi dibutuhkan sekali oleh para karyawan, sebab tanpakoordinasi setiap karyawan tidak mempunyai pegangan mana yang harus diikuti,yang akhirnya akan merugikan organisasi itu sendiri.   2. kekuasaan membuat keputusan, memerintah, dan melimpahkan tanggung jawab kepada orang lain   3. - Wewenang lini, adalah wewenang dimana atasan melakukannya atas bawahannya langsung. Yaitu atasan langsung memberi wewenang kepada bawahannya, wujudnya dalam wewenang perintah dan tercermin sebagai rantai perintah yang diturunkan ke bawahan melalui tingkatan organisasi.      - Wewenang staf, adalah hak yang dipunyai oleh satuan-satuan staf atau para spesialis untuk menyarankan, memberi rekomendasi, atau konsultasi kepada personalia ini. Kualifikasi yang harus dipenuhi oleh orang yang duduk sebagai taf yaitu dengan menganalisa melalui metode kuisioner, metode observasi, metode wawancara atau dengan menggabungkan ketiganya. Baishline mengajukan enam pokok kualifikasi yang harus dipengaruhi oleh seorang staf yaitu :        1. Pengetahuan yang luas tempat diamana dia bekerja  
     2. Punya sifat kesetiaan tenaga yang besar, kesehatan yang baik, inisiatif, pertimbangan yang baik dan kepandaian yang ramah.
     3. Punya semangat kerja sama yang ramah
     4. Kestabilan emosi dan tingkat laku yang sopan.
     5. Kesederhanaan
     6. Kemauan baik dan optimis      - wewenang staf fungsional, adalah hubungan terkuat yang dapat dimiliki staf dengan  satuan-satuan lini.   4. - Teori Hirarki Kebutuhan Teori ini dikenalkan oleh Maslow sehingga kita mengenal hirarki kebutuhan Maslow. Teori ini menyajikan alasan lebih lengkap dan bertingkat. Mulai dari kebutuhan fisiologis, kebutuhan akan kemanan, kebutuhan akan pengakuan sosial, kebutuhan penghargaan, sampai kebutuhan akan aktualisasi diri.        Dari McClelland dikenal tentang teori kebutuhan untuk mencapai prestasi atau Need for Acievement (N.Ach) yang menyatakan bahwa motivasi berbeda-beda, sesuai dengan kekuatan kebutuhan seseorang akan prestasi.      - Teori Herzberg (Teori Dua Faktor)   5. Fungsi perumusan strategi organisasi sering juga digunakan istilah “grand strategy”, termasuk diantaranya adalah perumusan visi, misi, tujuan (objective), kebijakan (policy), dan strategi, serta perencanaan tentang bagaimana pengorganisasian (organization planning) seluruh kegiatan dalam menjalankan strategi tersebut. Organization planning memberikan arah kepada setiap awak organisasi, kemana organisasi akan dibawa ke masa yang akan datang.        Ilmuwan ketiga yang diakui telah memberikan kontribusi penting dalam pemahaman motivasi Herzberg. Teori yang dikembangkannya dikenal dengan “ Model Dua Faktor” dari motivasi, yaitu faktor motivasional dan faktor hygiene atau “pemeliharaan”.        Menurut teori ini yang dimaksud faktor motivasional adalah hal-hal yang mendorong berprestasi yang sifatnya intrinsik, yang berarti bersumber dalam diri seseorang, sedangkan yang dimaksud dengan faktor hygiene atau pemeliharaan adalah faktor-faktor yang sifatnya ekstrinsik yang berarti bersumber dari luar diri yang turut menentukan perilaku seseorang dalam kehidupan seseorang.
  TUGAS SOFTSKILL 2

1. Apa yang dimaksud dengan perencanaan,sebutkan syarat-syarat perencanaan yang baik .?
2. Tuliskan pengertian organisasi dari beberapa ahli .?
3. Sebutkan macam-macam bentuk organisasi .?

JAWAB :

1. Definisi Perencanaan

    * Perencanaan adalah suatu proses untuk menentukan tindakan masa depan yang tepat melalui serangkaian pilihan-pilihan .

          o Menentukan : Menemukan ( mengungkapkan dan meyakinkan).

          o Tindakan : Spesifik dan berkaitan dengan persoalan pelaksanaan

          o Tepat : Dikaitkan dengan tindakan         # Syarat Perencanaan . . .

        * Faktual dan Realistis

        * Logis dan Rasional

       * Fleksibel

        * Komitmen

        * Komprehensif atau menyeluruh

2. Definisi Organisasi       - Organisasi Menurut Stoner     Organisasi adalah suatu pola hubungan-hubungan yang melalui mana orang-orang di bawah pengarahan manajer mengejar tujuan bersama.

   - Organisasi Menurut James D. Mooney     Organisasi adalah bentuk setiap perserikatan manusia untuk mencapai tujuan bersama.

   - Organisasi Menurut Chester I. Bernard     Organisasi merupakan suatu sistem aktivitas kerja sama yang dilakukan oleh dua orang atau lebih.

3. Macam-macam tipe & bentuk organisasi    Tipe-tipe organisasi   Secara garis besar organisasi dapat dibedakan menjadi dua macam, yaitu organisasi formal dan organisasi informal. Pembagian tersebut tergantung pada tingkat atau derajat mereka terstruktur. Namur dalam kenyataannya tidak ada sebuah organisasi formal maupun informal yang sempurna.      Organisasi Formal   Organisasi formal memiliki suatu struktur yang terumuskan dengan baik, yang menerangkan hubungan-hubungan otoritasnya, kekuasaan, akuntabilitas dan tanggung jawabnya. Struktur yang ada juga menerangkan bagaimana bentuk saluran-saluran melalui apa komunikasi berlangsung. Kemudian menunjukkan tugas-tugas terspesifikasi bagi masing-masing anggotanya. Hierarki sasaran organisasi formal dinyatakan secara eksplisit. Status, prestise, imbalan, pangkat dan jabatan, serta prasarat lainya terurutkan dengan baik dan terkendali. Selain itu organisasi formal tahan lama dan mereka terencana dan mengingat bahwa ditekankan mereka beraturan, maka mereka relatif bersifat tidak fleksibel. Contoh organisasi formal ádalah perusahaan besar, badan-badan pemerintah, dan universitas-universitas (J Winardi, 2003:9).

   Organisasi informal   Keanggotaan pada organisasi-organisasi informal dapat dicapai baik secara sadar maupun tidak sadar, dan kerap kali sulit untuk menentukan waktu eksak seseorang menjadi anggota organisasi tersebut. Sifat eksak hubungan antar anggota dan bahkan tujuan organisasi yang bersangkutan tidak terspesifikasi. Contoh organisasi informal adalah pertemuan tidak resmi seperti makan malam bersama. Organisasi informal dapat dialihkan menjadi organisasi formal apabila hubungan didalamnya dan kegiatan yang dilakukan terstruktur dan terumuskan. Selain itu, organisasi juga dibedakan menjadi organisasi primer dan organisasi sekunder menurut Hicks:

   * Organisasi Primer, organisasi semacam ini menuntut keterlibatan secara lengkap, pribadi dan emosional anggotanya. Mereka berlandaskan ekspektasi rimbal balik dan bukan pada kewajiban yang dirumuskan dengan eksak. Contoh dari organisasi semacam ini adalah keluarga-keluarga tertentu.   * Organisasi Sekunder, organisasi sekunder memuat hubungan yang bersifat intelektual, rasional, dan kontraktual. Organisasi seperti ini tidak bertujuan memberikan kepuasan batiniyah, tapi mereka memiliki anggota karena dapat menyediakan alat-alat berupa gaji ataupun imbalan kepada anggotanya. Sebagai contoh organisasi ini adalah kontrak kerjasama antara majikan dengan calon karyawannya dimana harus saling setuju mengenai seberapa besar pembayaran gajinya.



   Bentuk-bentuk organisasi :

   1. Organisasi politik

      Organisasi politik adalah organisasi atau kelompok yang bergerak atau berkepentingan atau terlibat dalam proses politik dan dalam ilmu kenegaraan, secara aktif berperan dalam menentukan nasib bangsa tersebut.

   2. Organisasi sosial

      Organisasi sosial adalah perkumpulan sosial yang dibentuk oleh masyarakat, baik yang berbadan hukum maupun yang tidak berbadan hukum, yang berfungsi sebagai sarana partisipasi masyarakat dalam pembangunan bangsa dan negara.

   3. Organisasi mahasiswa

      Organisasi mahasiswa adalah organisasi yang beranggotakan mahasiswa. Organisasi ini dapat berupa organisasi kemahasiswaan intra kampus, organisasi kemahasiswaan ekstra kampus,

   4. Organisasi olahraga

      Organisasi olahraga adalah organisasi yang mencakup banyaknya cabang olahraga

   5. Organisasi sekolah

      Organisasi sekolah adalah organisasi yang beranggotakan murid-murid . organisasi ini bias berupa organisasi intra sekolah maupun organisasi intra sekolah .

   6. Organisasi negara

      Organisasi Negara adalah pengorganisasian masyarakat yang mempunyai rakyat dalam suatu wilayah tersebut, dengan sejumlah orang yang menerima keberadaan organisasi ini.

Kamis, 25 November 2010

Sintak

SINTAKS


Bahasa mesin adalah bentuk terendah komputer. Kita dapat berhubungan 
langsung dengan bagian-bagian yang ada di dalam komputer seperti bits, 
register. Bahasa mesin terdiri dari bit-bit 0 dan 1. Bagaimana dengan orang 
yang tidak mengerti bahasa mesin? . Bahasa mesin tergantung jenis komputer 
yang digunakan. Bagaimana jika jenis computer mengalami perubahan?. Oleh 
karena itu manusia berusaha menciptakan suatu bahasa yang dapat 
dimengerti baik oleh manusia maupun computer, yang disebut dengan nama 
bahasa tingkat tinggi. Pada bahasa tingkat tinggi ke dalam bahasa mesin 
dibutuhkan sesuatu untuk menterjemahkan agar mesin computer mengerti 
apa yang diinginkan oleh manusia, yaitu : 

1. Interpreter
2. Compiler
Untuk membuat penterjemah seperti compiler perlu dibuat standar atau
tata bahasa (aturan) seperti manusia berkomunikasi mempunyai tata bahasa
agar lawan bicaranya dapat mengerti yang dibicarakan. Demikian juga untuk
menterjemahkan ke dalam mesin, harus dibuat suatu aturan agar computer
mengerti apa yang diinginkan oleh manusia melalui program yang dibuatnya.

SINTAKS

Sintaks merupakan kumpulan aturan yang mendefenisikan suatu bentuk
bahasa. Sintaks mendefenisikan bagaimana suatu kata dikembangkan menjadi
suatu statement yang benar sehingga dapat disusun menjadi suatu program
yang dapat berjalan dengan benar.

Sintaks dari bahasa pemrograman di defenisikan dengan 2 kumpulan aturan,
yaitu:

1. Aturan Lexical (Lexical Analysis)/ Scanner
2. Aturan Syntactic (Syntactic Analyzer)/ Parser
KONSEP DAN NOTASI BAHASA

· Alfabet : Kumpulan dari objek-objek yang disebut dengan symbol.
Contoh
: S 1 = { a,b,c,….,z}
S 2 = {c,f}


Algoritma Pemrograman 1C


· Bahasa : Kumpulan symbol-simbol yang ditulis secara berurutan.

Tata bahasa (Grammar) : Sekumpulan dari himpunan variabel-variabel,
simbol-simbol terminal, simbol non-terminal, symbol awal yang dibatasi
oleh aturan-aturan produksi.

Tahun 1956 -1959 Noam Chomsky melakukan penggolongan tingkatan
dalam bahasa, yaitu menjadi 4 class yang disebut dengan hirarki
Chomsky.

Tahun 1959 Backus memperkenalkan notasi formal baru untuk sintaks
bahasa yang lebih spesifik.

Peter Nour (1960) merevisi metode dari sintaks yang sekarang dikenal
dengan BNF (Backus Nour Form)
Contoh tata bahasa sederhana :

·  
B | b|i| ; END 



|  



A | B |…..| Z

·  
+|-|=
·  
^|*|/



|  

Contoh :

Begin

A:1
B: A+1
End
ATURAN PRODUKSI

· Aturan produksi dinyatakan dalam bentuk : a ß
(a menghasilkan(menurunkan) ß)


· a simbol-simbol untuk ruas kiri, ß simbol-simbol untuk ruas kanan
· Simbol-simbol bisa berupa terminal atau non-terminal
· Contoh aturan produksi:
a artinya T menghasilkan a
T | T + E artinya E menghasilkan T atau menghasilkan T + E

T
E
Algoritma Pemrograman 1C


HIRARKI CHOMSKY


Tipe 0
Tipe 3
Tipe 2
Tipe 1
Tipe 0 = Unresticted
Tipe 1 = Context Sensitive
Tipe 2 = Context Free
Tipe 3 = Regular

Berdasarkan komposisi bentuk ruas kiri dan ruas kanan produksinya (a®b),
Noam Chomsky mengklasifikasikan 4 tipe grammar :

· Tipe 0 ( Unrestricted Grammar)
Ciri : a, bÎ (V T ½V N )*, .a.>0
Tidak ada batasan aturan produksi


Abc


De


Tipe 1 (Context Sensitive Grammar)
Ciri : a, bÎ (V T ½V N )*, 0 < .a.
£ .b.
Panjang string ruas kiri harus <= ruas kanan
Ab


DeF
CD


eF


Tipe 2 (Context Free Grammar)
Ciri : aÎ V N , bÎ (V T ½V N )*
Ruas kiri haruslah tepat satu simbol variabel non-terminal
CdeFg
BcDe



Tipe 3 (Regular Grammar)
Ciri : aÎ V N , bÎ {V T ,V T V N } atau aÎ V N , bÎ {V T ,V N V T }
Mengingat ketentuan simbol-simbol, ciri-ciri RG sering dituliskan sebagai : a
Î V N , bÎ {a, bC} atau aÎ V N , bÎ {a, Bc}

B
D
Algoritma Pemrograman 1C


Ruas kanan hanya memiliki maksimum 1 simbol non-terminal yang

diletakkan paling kanan sendiri

A


eFG
A


efgH
C


D

NOTASI BNF (Backus Nour Form)

· Aturan produksi dapat dinyatakan dengan notasi BNF

BNF menggunakan abstraksi untuk struktur sintaks :
::= : sama identik dengan simbol
| : sama dengan atau
<> : pengapit simbol non terminal
{ } : elemen yang ada didalamnya merupakan terminal
Contoh:
Aturan produksi sebagai berikut : E



T|T+E|T–E
T

a
NotasiBNF :E::=|+|- 
T ::= a
::= |  
::= a|b|c|…|y|z 


Aturan Leksikal
Berhubungan dengan bahasa sering disebut dengan SCANNER bertugas
sebelum proses syntax analyzer dan intermediate code dilakukan dimana
tugas analisis leksikal ini mendekomposisikan program sumber menjadi
bagian-bagian kecil. Tugas-tugasnya secara detil adalah :
1. Mengidentifikasi semua pesan yang mengandung bahasa
2. Mentransformasikan ke token-token (simbol terminal)
3. Menentukan jenis dari token-token
4. Menangani kesalahan
5. Menangani table simbol
6. Scanner di desain untuk mengenali keyword, operator, identifier
Algoritma Pemrograman 1C


Contoh :

Besaran lexical (tergantung programnya)


Identifier dapat berupa keyword seperti : IF THEN ELSE, BEGIN….END (pada
PASCAL), integer (PASCAL), int,float (Bahasa C)

Konstanta besaran yang berupa bilangan bulat (integer), bilangan pecahan
(float/real), Boolean (true/false), string dsb

Operator : Operator aritmatika, operator logika (and, or,not), operator
relational (<,>,=,!=)

Delimiter : berguna sebagai pemisah / pembatas seperti kurung buka,
kurung tutup, titik, koma, titik dua, titik koma, white space

White space : pemisah yang diabaikan oleh program seperti enter, spasi
Contoh:

Statement : Fahrenheit := 32 + celcius * 1.8

Maka akan diterjemahkan ke dalam token-token sebagai berikut:

Identifier : Fahrenheit id1

S
Operator : :=


Integer : 32
id1 := ekspresi


Operator penjumlahan : +



Identifier : celcius id2
Farenheit 32 + id2 * 1.8


Operator perkalian : *
Real / Float : 1.8 cecius



SINTAKS ANALYZER (PARSER)

Bertugas memeriksa kebenaran dari urutan token-token yang terbentuk oleh
leksikal analisis. Pengelompokkan ke dalam class sintaks (bentuk sintaks)
seperti procedure, stat n dan ekspresi. Grammar dipakai oleh sintaks analyzer
untuk menetukan struktur dari program sumber. Proses pendeteksian

Algoritma Pemrograman 1C


(pengenalan token) disebut dengan parsing, maka syntax analyzer sering
disebut dengan parser.

Pohon sintaks yang dihasilkan digunakan untuk semantic analyzer yang
bertugas untuk menentukan maksud dari program sumber, misalnya operator
penjumlahan maka semantic analyzer akan mengambil aksi apa yang harus
dilakukan.

GRAMMAR CONTEXT-FREE DAN PARSING

Bentuk umum produksi CFG adalah : a®b, aÎ V N , bÎ (V N ½V T )*

Analisis sintaks adalah penelusuran sebuah kalimat (atau sentensial) sampai
pada simbol awal grammar. Analisis sintaks dapat dilakukan melalui derivasi
atau parsing. Penelusuran melalui parsing menghasilkan pohon sintaks.

Contoh 1 :

Diketahui grammar G 1 = {I ® H½IH½IA, H ® a½b½c½...½z, A ® 0½1½2½...½9}

dengan I adalah simbol awal. Berikut ini kedua cara analisa sintaks untuk
kalimat x23b.
cara 1 (derivasi) cara 2 (parsing)
I .
IH I


.
IAH
.
IAAH IH
.
HAAH
.
xAAH I A b
.
x2AH
.
x23H I A 3
.
x23b
H 2

x

Algoritma Pemrograman 1C


Metoda Parsing

Ada 2 metoda parsing : top-down dan bottom-up.

1.
TOP-DOWN PARSING
Konstruksi pohon sintaks dimulai dari akar dilanjutkan turun ke bawah
menuju daun
2.
BOTTOM-UP PARSING
Konstruksi dimulai dari daun, bergerak keatas menuju akar
Pembacaan semua leaf dari pohon parsing jika dibaca dari kiri ke kanan


Algoritma Pemrograman 1C
Concurrent Programming

Akar dari semua organisasi manusia yang sukses adalah kerjasama bukan kompetisi.Yg berbarengan pemrograman ditandai dengan pemrograman dengan lebih dari satu proses.
Kata kunci dan frase Pipelines, proses paralel, message passing, monitor, bersamaan pemrograman, keselamatan, liveness, kebuntuan, hidup-lock, keadilan, komunikasi, producerconsumer sinkronisasi,

Ada beberapa alasan untuk programmer yang akan tertarik pada concurrency:

1.        Untuk lebih memahami arsitektur komputer (memiliki banyak concurrency dengan pipelining
(Multiple step) dan super-skalar (beberapa instruksi)) dan
2.        kompiler desain,
3.        beberapa masalah yang paling alami diselesaikan dengan menggunakan serangkaian proses ko-operasi,
4.        Sebuah solusi sekuensial merupakan atas spesifikasi, dan
5.         untuk mengurangi waktu eksekusi.

Pemrograman konkuren mendasari dua sudut pandang utama sistem operasi modern, yaitu
multiprogramming dan pemrosesan terdistribusi, di samping merupakan dasar teknologi
perancangan sistem operasi. Konkurensi dibutuhkan dalam banyak konteks yang berbeda, antara lain aplikasi majemuk (multiple applications) pada multiprogramming, aplikasi terstruktur (structured application) pada perancangan dan pemrograman terstruktur, dan implementasi proses-proses pada struktur sistem operasi.
Pemrograman konkuren bukan pengganti pemrograman sekuensial, melainkan merupakan
pelengkapnya. Jika pada pemrograman sekuensial dikenal paradigma iteration, condition, dan repetition, maka pada pemrograman konkuren ketiga paradigma itu tetap digunakan, dan masih harus dilengkapi dengan logika temporer. Logika temporer harus ada karena ada lebih dari satu proses yang beroperasi pada saat yang sama, sebagaimana dijelaskan  pada Gambar 1.
a. Operasi sekuensial
-- O – O – O – O à
   X = 5
   Y = 3 * X + 4
b. Operasi Konkuren
        - O – O -
     -- |              | -- >
          - O – O –
       X = A * B + C
       Y = 3 * A + 7


Gambar 1. Operasi sekuensial dan operasi konkuren.

Dua hal penting yang menjadi hipotesa umum pemrograman konkuren
Ø  Tidak ada asumsi tentang kecepatan proses
Ø  Semua proses dilaksanakan sampai selesai.

Setiap persoalan yang berhubungan dengan konkurensi dapat diabstraksikan ke dalam satu
atau lebih model berikut.
1) Seksi kritis (mutual exclusion)
2) Komunikasi antar proses (interprocess communication / message passing)
3) Sinkronisasi antar proses (interprocess synchronization)

Tulisan ini menyoroti mekanisme tingkat rendah yang dibutuhkan pada pemrograman konkuren. Akan disajikan sebuah studi kasus untuk memperlihatkan cara menyelesaikan persoalan menggunakan mekanisme tingkat rendah. Juga diberikan sebuah contoh implementasi algoritma penyelesaian persoalan ke dalam sebuah program.


Concurrent programming mutlak diperlukan oleh sistem operasi desain modern dan aplikasi. Ini adalah kegiatan membangun sebuah program yang berisi beberapa proses yang dilaksanakan secara paralel. Tidak ada tingkat-of-proses asumsi dan semua proses akan dieksekusi dari awal sampai akhir. Tulisan ini difokuskan pada tiga mekanisme yang umum digunakan dalam pemrograman concurrent, dan bagaimana menggunakannya
pada kasus tertentu. Mereka dikenal sebagai mekanisme tingkat rendah.


Konsep Dasar Concurrent Programming

`      Bahasa pemrograman concurrent mendefinisikan perintahnya
       sebagai message pada sebuah proses. Umumnya bahasa ini berbasis Pi-Calculus, tidak memilki proses perhitungan, kecuali Erlang dan Ada. Namun Ada juga merupakan sebuah bahasa multi propose language, sedangkan untuk cocurrent language hanya terdapat satu pilihan. Contoh bahasa yang tergolong concurrent language adalah:

b.     Concurrent Pascal (dikembangkan oleh Brinch-Hansen)
c.     Erlang
d.     Join-calculusTerjadi bersama-sama.
e.     C#
f.     limbo
g.     occam

pengertian concurrent

Dua proses/program atau lebih mempunyai akses kemicroprocessor dan dilaksanakan pada waktu yang sama dalam bahasa pemograman
Analisa Bahasa Indonesia yang sepadan dengan kata {analisys} dari bahasa Inggris pascal Bahasa pemrograman Pascal yang standar, standard  bahasanya dikeluarkan oleh American Nastional Standard Institute.

Pemograman konkuren mendasari dua sudut pandang utama system operasi modern,yaitu multiprogramming dan pemrosesan terdistribusi,di samping merupakan dasar teknologi perancang system operasi.konkurensi dibutuhkan dalam banyak konteks antara lain aplikasi majemuk pada perancangan dan pemograman terstruktur,dan implementasi proses-proses pada sturuktur system operasi.pemograman konkuren bukan pengganti pemograman sekuensial,melainkan merupakan pelengkapnya.jika pada pemograman sekuensisl dikenal paradigma iteration,condition,dan repetition,maka pemograman konkuren
ketiga paradigm itu tetap digunakan dan masih harus dilengkapi dengan logika temporer.logika temporer harus ada karena ada lebih dari satu

Sebuah sistem komputer harus menangani beberapa program (task) yang harus dieksekusi bersama dalam sebuah lingkungan (baik mono atau multi prosesor). Pada pemrograman konkuren, kita tidak lagi berpikir sekuensial, melainkan harus menangani komunikasi dan sinkronisasi antar program.



Sifat-sifat sistem Concurrent programing

n Sinkronisasi
          Dua buah proses dikatakan berkomunikasijika aksi dari sebuah proses sepenuhnya mendahului proses berikutnya. Sinktonisasi berhubungan dengan komunikasi.

Live-lock dapat terjadi jika ada lebih dari satu proses menunggu dan ketika sinyal diterima akses tidak diberikan cukup. Kelaparan: (live-lock) beberapa proses menunggu akses tapi akses tidak diberikan secara adil Coroutines.
Real-time isu-isu bahasa pemrograman Ketika melewati pesan asynchronous, sinkronisasi dapat diperoleh dengan mengharuskan balasan ke sinkronisasi pesan. Dalam contoh berikut, melalui pesan disinkronisasi diasumsikan. Komunikasi perintah dalam penyangga. Kebanyakan komunikasi bahasa pemrograman berbasis izin masukan perintah dalam penyangga tetapi tidak perintah output. asimetri ini disebabkan yang dihasilkan kompleksitas yang dibutuhkan untuk melaksanakan perintah output dalam penjaga.





process Q;
const qsize = 10;
var head, tail : integer;
queue : array[0..qsize-1] of integer;
begin
head,tail := 0,0;
*[ head != tail, C?X --> C!queue[head]; head := (head +
1) mod qsize
[] head != (tail+1) mod qsize, P?X --> queue[tail],
tail := X, (tail + 1) mod qsize]
end;

n Nondeterministic
          Sebuah program dikatakan non-deterministic bila memiliki lebih dari satu evaluasi strategi yang memungkinkan dan berbeda, yang meberikan hasil-hasil yang berbeda.
Suatu program merupakan deterministik jika evaluasi terhadap input yang sama selalu menghasilkan output yang sama. strategi evaluasi mungkin tidak selalu menjadi unik.
Suatu program merupakan nondeterministic jika memiliki lebih dari satu strategi evaluasi diizinkan dan berbeda
strategi evaluasi mengakibatkan hasil yang berbeda. Sebuah konsep yang berhubungan dengan nondeterminism adalah evaluasi evaluasi paralel Paralel yang tidak melibatkan interaksi pada bagian dari subparts yang disebut noninterfering paralelisme. Proses yang telah menguraikan ruang alamat tidak dapat mengganggu satu sama lain dan dengan demikian dapat beroperasi tanpa takut merusak masing-masing lainnya. Sebagai contoh, dua proses di [| | I: = 1, j: = 2]
tidak berbagi ruang alamat oleh karena itu, tugas dapat dilakukan secara paralel.
Contoh lain dari proses-campur tidak ditemukan dalam perkalian matriks. Ketika dua matriks dikalikan, setiap entri dalam produk matriks adalah hasil perkalian kolom kali berturut-turut dan menjumlahkan produk. Ini disebut hasil kali dalam. E
n Mutual exlusion
          Sebuah proses kadang membutuhkan akses yang exclusif terhadap sumber daya. Misalnya ketika sebuah proses memperbaiki struktur data, tidak ada proses lain yang mengakses data yang sama.
Seringkali proses harus mempunyai akses eksklusif ke sumber daya. Sebagai contoh, ketika suatu proses memperbarui struktur data, ada proses lainnya harus memiliki akses ke struktur data yang sama dinyatakan keakuratan data dapat diragukan. Tuntutan untuk membatasi akses disebut saling eksklusi dan melibatkan
berikut:
Ø Paling banyak satu proses memiliki akses
l Jika ada beberapa permintaan untuk sumber daya, itu harus diberikan kepada salah satu proses dalam terbatas
waktu.
Ø  Ketika suatu proses yang memiliki akses eksklusif untuk berbagi sumber daya rilis dalam waktu terbatas.
Ø  Ketika sebuah proses meminta sumber daya harus mendapatkan sumber daya dalam waktu terbatas.
Ø  Sebuah proses tidak boleh mengkonsumsi waktu proses sambil menunggu sumberdaya.

Concurrency in Programming Languages
bahasa adalah concurrent jika menggunakan paralelisme mengganggu.
Sequential program hampir selalu deterministik. Sebuah program deterministik mengikuti urutan
langkah yang dapat diprediksi sebelumnya. perilaku adalah direproduksi dan dengan demikian, program deterministik adalah diuji. Bersamaan program kemungkinan akan nondeterministic karena urutan dan kecepatan eksekusi dari proses tidak dapat diprediksi. Hal ini membuat pengujian program bersamaan tugas yang sulit.
Persyaratan untuk ruang alamat menguraikan mungkin terlalu berat persyaratan. Apa yang diperlukan adalah bahwa
sumber daya bersama mungkin perlu dilindungi sehingga hanya satu proses yang diijinkan akses ke Sumber Daya di
waktu. Hal ini memungkinkan proses untuk bekerja sama, berbagi sumber daya tetapi menjaga integritas dari
sumber daya.
Eksekusi konkuren:
 Sebuah notasi yang menunjukkan operasi yang bisa, tapi perlu, dieksekusi secara paralel.

PCN              Occam
[|| P1, P2, ..., Pn] PAR
P1
...
Pn


Komunikasi:
 Sebuah notasi yang memungkinkan proses pertukaran informasi baik trhrough variabel bersama (dapat dilihat setiap proses) atau mekanisme message passing.

Shared Memory
Assignment: X := E
Message Passing
Synchronous Pi!E, Pj?X
Asynchronous Pi!E, Pj?X
Remote procedure call

Sinkronisasi:
notasi A memerlukan proses untuk menunggu sinyal dari proses lain.
Reksa pengecualian: notasi A untuk menyinkronkan akses ke sumber daya bersama.



REKAYASA CONCURRENT  PROGRMING
Lingkungan pemrograman paralel harus mendukung tiga tahap berikut perilaku system spesifikasi.
·      Pemrograman Perilaku proses dan interkoneksi Prosesor 
·      deskripsi Jaringan dan interkoneksi
·       Pemetaan Konfigurasi perangkat lunak ke perangkat keras Pemrograman
Cara merancang perangkat lunak paralel adalah untuk mulai dengan algoritma yang paling mungkin paralel
dan kemudian secara bertahap membuat lebih berurutan ... sampai itu sesuai mesin yang itu adalah untukjalankan. Timur (1995)

Chandy dan Taylor (1992)
mendefinisikan bahasa pemrograman paralel PCN elegan (Program Komposisi Notasi) berdasarkan:
Ø  definisi Shared variabel (tugas tunggal) - X = Exp,
Ø  Paralel komposisi - [| | P0 ,..., Pn],
Ø  Pilihan komposisi - [? G0 -> P0 ,..., Gn -] Pn>,
Ø  Sequential komposisi - [; S0 ,..., Sn], dan
Ø  Rekursi - nama (parameter) komposisi ekspresi Concurrent Programming

Variabel Definisi menghilangkan masalah ketidakpastian. Komunikasi adalah melalui berbagi variabel yang mungkin sungai. Sinkronisasi dicapai dengan proses yang memerlukan suatu referensi variabel terdefinisi untuk menunggu sampai didefinisikan oleh beberapa proses lain sebelum melanjutkan. Rekursi dengan komposisi paralel memungkinkan proses penciptaan dinamis. Jika sebuah program yang hanya menggunakan komposisi paralel dan pilihan dan variabel definisi tidak memiliki efisiensi yang memadai, ...
Kami menggunakan langkah-langkah berikut dalam pengenalan mutables dan sequencing menjadi parallel blok.

1. Kita urutan laporan dalam blok paralel sehingga semua variabel yang muncul pada sisi kanan laporan definisi mengurangi ke tanah nilai atau tuple, dan semua penjaga mengurangi ke tanah nilai-nilai benar atau salah, hanya memberikan definisi didirikan oleh pernyataan sebelumnya dalam pemesanan. Dengan kata lain, kita order pernyataan dalam arah aliran data, laporan yang menulis sebuah variabel muncul lebih awal dari pernyataan yang membaca variable tersebut. Kemudian kita mengubah paralel Blok menjadi sebuah blok berurut dengan mengganti "| |" dengan ";" mempertahankan urutan aliran data laporan.

2. Selanjutnya, kami memperkenalkan mutables, menambahkan laporan tugas untuk program kami, dan menunjukkan bahwa m bisa berubah memiliki nilai sama dengan definisi variabel x itu adalah untuk mengganti, di
setiap titik dalam program di mana x dibaca - yaitu, di mana x muncul di tangan kanan yang sisi pernyataan definisi atau tugas atau penjaga.
3.        Akhirnya, kami keluarkan variabel definisi yang digantikan oleh mutables, aman dalam pengetahuan bahwa mutables memiliki nilai sama dengan variabel definisi dalam laporan di mana mereka baca. Kita harus, tentu saja, pastikan bahwa mutable bersama oleh blok konstituen dari sebuah blok paralel tidak diubah dalam parallel blok.

Lewis (1993) mengembangkan teori kebenaran program yang disebut aliran-benar.Lewis membutuhkan untuk masing-masingberbagi variabel:

1.        itu harus didefinisikan sebelum dirujuk,
2.        harus dirujuk sebelum update, dan
3.        hanya satu proses pada suatu waktu dapat (kembali) mendefinisikannya.

Aturan-aturan ini hanya berlaku untuk ketergantungan antar variabel dan tidak mencakup baik kebenaran total Concurrent Programming (Terminasi) atau kebenaran logis (kepuasan spesifikasi). isu Kebenaran dalam desain program bersamaan jatuh di salah satu dari dua kategori: keselamatan dan liveness.
 Keamanan: tidak ada yang buruk akan terjadi. Sebagai contoh, akses ke sumber yang dipakai bersama seperti printer membutuhkan bahwa proses pengguna memiliki akses eksklusif ke sumber daya. Jadi harus ada mekanisme untukmemberikan pengecualian bersama.
·      Liveness: sesuatu yang baik akan terjadi. Di sisi lain, proses tidak harus mencegah lain
akhirnya proses dari akses ke printer. Jadi setiap proses yang ingin printer harus memiliki akses ke printer.
Keselamatan berhubungan dengan konsep loop. Sebuah program harus menghasilkan hak ``''menjawab.  Liveness berkaitan dengan konsep varian loop. Sebuah program diharapkan dapat membuat kemajuan. Penghentian adalah contoh dari properti liveness ketika sebuah program diharapkan untuk mengakhiri.









Daftar Pustaka
..