Selasa, 20 Juli 2021

ANALISA ALGORITMA

 

ANALISA ALGORITMA



  • Nama : Degi Reyval Febrian
  • Npm  : 20316051
  • Kelas  : Teknik Komputer 

 CONTOH BUBBLE SORT

1. Algoritma Bubble Sort

1.    Membandingkan data ke-i dengan data ke-(i+1) (tepat bersebelahan). Jika tidak sesuai maka tukar (data ke-i = data ke-(i+1) dan data ke-(i+1) = data ke-i). Apa maksudnya tidak sesuai? Jika kita menginginkan algoritme menghasilkan data dengan urutan ascending (A-Z) kondisi tidak sesuai adalah data ke-i > data ke-i+1, dan sebaliknya untuk urutan descending (A-Z).
2.    Membandingkan data ke-(i+1) dengan data ke-(i+2). Kita melakukan pembandingan ini sampai data terakhir. Contoh: 1 dgn 2; 2 dgn 3; 3 dgn 4; 4 dgn 5 … ; n-1 dgn n.
3.    Selesai satu iterasi, adalah jika kita sudah selesai membandingkan antara (n-1) dgn n. Setelah selesai satu iterasi kita lanjutkan lagi iterasi berikutnya sesuai dengan aturan ke-1. mulai dari data ke-1 dgn data ke-2, dst.
4.    Proses akan berhenti jika tidak ada pertukaran dalam satu iterasi.

Contoh kasus bubble short

Misalkan kita punya data seperti ini: 6, 4, 3, 2 dan kita ingin mengurutkan data ini (ascending) dengan menggunakan bubble sort. Berikut ini adalah proses yang terjadi:
Iterasi ke-1: 4, 6, 3, 2 :: 4, 3, 6, 2 :: 4, 3, 2, 6 (ada 3 pertukaran)
Iterasi ke-2: 3, 4, 2, 6 :: 3, 2, 4, 6 :: 3, 2, 4, 6 (ada 2 pertukaran)
Iterasi ke-3: 2, 3, 4, 6 :: 2, 3, 4, 6 :: 2, 3, 4, 6 (ada 1 pertukaran)
Iterasi ke-4: 2, 3, 4, 6 :: 2, 3, 4, 6 :: 2, 3, 4, 6 (ada 0 pertukaran) -> proses selesai

2. Kompleksitas Algoritma Buble Sort


Kompleksitas Algoritma Bubble Sort dapat dilihat dari beberapa jenis kasus, yaitu worst-case, average-case, dan best-case.

Ø  Kondisi Best-Case

Dalam kasus ini, data yang akan disorting telah terurut sebelumnya, sehingga proses perbandingan hanya dilakukan sebanyak (n-1) kali, dengan satu kali pass.
Proses perbandingan dilakukan hanya untuk memverifikasi keurutan data. Contoh Best-Case dapat dilihat pada pengurutan data “1 2 3 4” di bawah ini.

Pass Pertama
(1 2 3 4) menjadi (1 2 3 4)
(1 2 3 4) menjadi (1 2 3 4)
(1 2 3 4) menjadi (1 2 3 4)

Dari proses di atas, dapat dilihat bahwa tidak terjadi penukaran posisi satu kalipun, sehingga tidak dilakukan pass selanjutnya. Perbandingan elemen dilakukan sebanyak tiga kali. Proses perbandingan pada kondisi ini hanya dilakukan sebanyak (n-1) kali. Persamaan Big-O yang diperoleh dari proses ini adalah O(n). Dengan kata lain, pada kondisi Best-Case algoritma Bubble Sort termasuk pada algoritma
lanjar.


Ø  Kondisi Worst-Case

Dalam kasus ini, data terkecil berada pada ujung array. Contoh Worst-Case dapat dilihat pada pengurutan data “4 3 2 1” di bawah ini.

Pass Pertama
(4 3 2 1) menjadi (3 4 2 1)
(3 4 2 1) menjadi (3 2 4 1)
(3 2 4 1) menjadi (3 2 1 4)
Pass Kedua
(3 2 1 4) menjadi (2 3 1 4)
(2 3 1 4) menjadi (2 1 3 4)
(2 1 3 4) menjadi (2 1 3 4)
Pass Ketiga
(2 1 3 4) menjadi (1 2 3 4)
(1 2 3 4) menjadi (1 2 3 4)
(1 2 3 4) menjadi (1 2 3 4)
Pass Keempat
(1 2 3 4) menjadi (1 2 3 4)
(1 2 3 4) menjadi (1 2 3 4)
(1 2 3 4) menjadi (1 2 3 4)

Dari langkah pengurutan di atas, terlihat bahwa setiap kali melakukan satu pass, data terkecil akan bergeser ke arah awal sebanyak satu step. Dengan kata lain, untuk menggeser data terkecil dari urutan keempat menuju urutan pertama, dibutuhkan pass sebanyak tiga kali, ditambah satu kali pass untuk memverifikasi. Sehingga jumlah proses pada kondisi best case dapat dirumuskan sebagai berikut. Jumlah proses = n2+n (3)
Dalam persamaan (3) di atas, n adalah jumlah elemen yang akan diurutkan. Sehingga notasi Big-O yang didapat adalah O(n2). Dengan kata lain, pada kondisi worst-case, algoritma Bubble Sort termasuk dalam kategori algoritma kuadratik.

Ø  Kondisi Average-Case

Pada kondisi average-case, jumlah pass ditentukan dari elemen mana yang mengalami penggeseran ke kiri paling banyak. Hal ini dapat ditunjukkan oleh proses pengurutan suatu array, misalkan saja (1 8 6 2). Dari (1 8 6 2), dapat dilihat bahwa yang akan mengalami proses penggeseran paling banyak adalah elemen 2, yaitu sebanyak dua kali.

Pass Pertama
(1 8 6 2) menjadi (1 8 6 2)
(1 8 6 2) menjadi (1 6 8 2)
(1 6 8 2) menjadi (1 6 2 8)
Pass Kedua
(1 6 2 8) menjadi (1 6 2 8)
(1 6 2 8) menjadi (1 2 6 8)
(1 2 6 8) menjadi (1 2 6 8)
Pass Ketiga
(1 2 6 8) menjadi (1 2 6 8)
(1 2 6 8) menjadi (1 2 6 8)
(1 2 6 8) menjadi (1 2 6 8)

Dari proses pengurutan di atas, dapat dilihat bahwa untuk mengurutkan diperlukan dua buah passing, ditambah satu buah passing untuk memverifikasi. Dengan kata lain, jumlah proses perbandingan dapat dihitung sebagai berikut. Jumlah proses = x2+x (4) Dalam persamaan (4) di atas, x adalah jumlah penggeseran terbanyak. Dalam hal ini, x tidak pernah lebih besar dari n, sehingga x dapat dirumuskan sebagai
Dari persamaan (4) dan (5) di atas, dapat disimpulkan bahwa notasi
big-O nya adalah O(n2). Dengan kata lain, pada kondisi average case algoritma Bubble Sort termasuk dalam algoritma kuadratik.


3. Kelebihan Dan Kekurangan Bubble Sort


Kelebihan :
·      Metode Buble Sort merupakan metode yang paling simpel
·      Metode Buble Sort mudah dipahami algoritmanya

Kelemahan:
Meskipun simpel metode Bubble sort  merupakan metode pengurutan yang paling tidak efisien.  Kelemahan buble sort adalah pada saat mengurutkan data yang sangat besar akan mengalami kelambatan luar biasa, atau dengan kata lain kinerja memburuk cukup signifikan ketika data yang diolah jika  data cukup banyak. Kelemahan lain adalah jumlah pengulangan akan tetap sama jumlahnya walaupun data sesungguhnya sudah cukup terurut. Hal ini disebabkan setiap data dibandingkan dengan setiap data yang lain untuk menentukan posisinya.



Senin, 03 Mei 2021

Penjelasan Monitor dan Perkembangannya

 

A.    Definisi Monitor

Monitor adalah perangkat keras yang digunakan sebagai alat output data secara grafis pada sebuah CPU, monitor juga kerap disebut sebagai layar tampilan komputer. Monitor merupakan salah satu perangkat keras (Hardware) yang digunakan sebagai penampilan output video dari pada sebuah CPU, dan kegunaannya tersebut tidak dapat dipisahkan dalam pemakaian suatu komputer, sehingga dikarenakan monitor itu sebagai penampilan gambar maka tentunya komputer sangat sulit digunakan dan bahkan sama sekali tidak dapat digunakan tanpa menggunakan monitor. Monitor disebut juga dengan VDU (Visual Display Unit).

Monitor berfungsi sebagai Output dari memori komputer atau central processing unit berupa biner. Ini harus diubah menjadi bahasa manusia dan ditampilkan kemonitor sehingga bisa dibaca oleh pengguna.

Semua monitor memiliki jenis resolusi yang digunakan untuk menampilkan gambar. Ukuran inci LCD memberitahu apa jenis resolusi yang tersedia. Sebuah layar monitor 17-inci dapat memiliki resolusi 1024×768, sedangkan layar 20-inci akan memiliki 1600×1200. Jumlah dalam inci adalah ukuran layar monitor diagonal, sementara resolusi adalah lebar pixel dengan tinggi pixel. Meskipun laptop memiliki built-in monitor, beberapa laptop tersedia dengan port S-Video, yang memungkinkan kabel S-Video untuk plug ke televisi tertentu. Ketika televisi berubah ke input yang tepat, akan bertindak sebagai cloning.

B Sejarah Awal Penemuan Monitor

Awal dari sejarah monitor komputer adalah dimulai dengan adanya VDT (The Video Display Terminal) yang berupa layar yang tergabung dengan keyboard dan dihubungkan ke komputer. Tahap perkembangan monitor computer pertama terjadi pada tahun 1855 ditandai dengan penemuan tabung sinar katoda oleh ilmuwan dari Jerman yang bernama Heinrich Geissler.

Heinrich Geissler (1815-1879) adalah seorang ahli mesin, ahli fisika, dan peniup kaca    berkebangsaan Jerman. Ia dilaihirkan di kota Ingelshieb, German. Ayahnya adalah seorang pengrajin kaca. Ia memulai bengkel kerjanya di Bonn pada tahun 1852, pada tahun yang sama pula, Geissler bertemu dengan rekan kerjanya, Julius Plücker, seorang ahli matematika dan fisika. Bersama dengan Plucker, Geissler mengerjakan termometer dan tube kapiler.

Heinrich_Geissler

Foto Heinrich Giessler

Pada tahun 1855, Geissler dianugrahi medali emas pada pameran kelas dunia di Paris, atas kerajinan kaca miliknya yang memiliki kualitas tinggi. Pada tahun 1857, Geissler menunjukkan penemuannya berupa pompa vakum merkuri di Universitas Bonn. Pompa ini dapat digunakan untuk memompa udara keluar dari tube kaca, sehingga dapat dicapai tekanan yang sangat   rendah pada tube tersebut.

Geissler juga mengerjakan semacam instrumen yang dinamakan tabung Geissler. Tabung tersebut berupa semacam tabung kaca bertekenan rendah, yang diisi    dengan gas seperti neon atau argon, dan dihubungkan dengan anoda dan katoda. Lebih jauh lagi, Geissler bereksperimen dengan tabung dengan variasi ukuran, uap gas, cairan, dan tekanan udara. Itulah sedikit    mengenai Heinrich Geissler dimana temuannya bukan hanya monitor saja tapi banyak penemuan lainnya dimana dengan temuannya itu dapat merubah masa depan lebih baik, kembali ke pokok artikel. Kemudian Monitor CRT pertama (Cathode Ray Tube) dikembangkan untuk menerima    siaran televisi. Pengembangan tabung sinar katoda pertama yang direproduksi oleh Allen B. Du Mont (1931). Pada generasi awal komputer, belum menggunakan monitor khusus seperti sekarang ini. Komputer waktu itu terhubung dengan TV sebagai layar penampil dari pengolahan data yang dilakukannya. Yang cukup menjadi masalah adalah bahwa resolusi monitor TV saat itu hanya mampu menampilkan 40 karakter secara horisontal pada layar. Monitor khusus untuk komputer dikeluarkan oleh IBM PC, yang pada awalnya memiliki resolusi 80 x 25 dengan kemampuan warnanya. Pada generasi berikutnya muncul mono graphics (MGA/MDA) yang memiliki 720 x   350. Selanjutnya di awal tahun 1980-an muncul jenis monitor CGA dengan range resolusi dari 160×200 sampai 640 x 200 dan kemampuan warna antara 2 sampai 16 warna. Monitor EGA muncul dengan resolusi yang lebih bagus yaitu 640 x 350. Monitor jenis ini cukup stabil sampai berikutnya   munculnya generasi komputer Windows. Semua jenis monitor ini menggunakan video digital yang spesifik untuk mengatur warna dan intensitas cahaya. Antara video adapter dan monitor memiliki 2, 4, 16, atau 64 warna tergantung standard grafik yang    dimiliki. Selanjutnya dengan diperkenalkannya standard monitor VGA, tampilan grafis dari sebuah personal komputer menjadi nyata. VGA dan generasi – generasi yang berhasil sesudahnya seperti PGA, XGA, atau SVGA  merupakan standard video analog dengan sinyal R (Red), G (Green) dan B (Blue) dengan pewarnaan. Secara prinsip analog monitor memungkinkan penggunaan full color dengan intensitas yang tinggi. Generasi monitor selanjutnya adalah teknologi LCD yang tidak lagi menggunakan tabung elektron CRT, tetapi menggunakan sejenis Kristal liquid yang dapat berpendar. Teknologi ini menghasilkan monitor yang dikenal dengan nama Flat Panel Display dengan layar berbentuk pipih, dan kemampuan resolusi yang tinggi.

Kemudian perkembangan teknologi monitor selanjutnya adalah Monitor LED. Teknologi monitor LED memiliki banyak keunggulan yang dihasilkan dibandingkan dengan teknologi montor LCD diantaranya adalah kemampuan menghasilkan detail gambar yang lebih halus dan lebih sempurna    dibandingkan LCD monitor. Kedalaman warna yang lebih tinggi dibandingkan    LCD monitor sampai hampir mendekati warna aslinya. Kontras rasio yang cukup tinggi perbandingannya dibandingkan dengan LCD monitor. Selanjutnya adalah Teknologi monitor plasma yang menggunakan teknologi gas neon/xenon yang diapit dua lapisan pelat kaca. Kejutan listrik dimasukkan ke lapisan gas, yang langsung memberi reaksi berupa penciptaan elemen gambar.

Kemudian yang sampai perkembanganya adalah monitor touch screen atau touch panels. Monitor touch screen sebenarnya sudah berkembang sudah tahun 1980an yang telah dipatenkan oleh oleh pihak – pihak tertentu namun hak paten tersebut telah berakhir dan sekarang teknologi monitor touschscreen sudah menjadi teknologi yang umum dan dapat bebas dikembangkan oleh pihak manapun. Sekarang teknologi monitor touchscreen sudah merambah ke semua perangkat yang dibutuhkan, misalnya seperti handphone, PDA, tablet PC dan sebagainya.

C. Perkembangan Monitor Dari Tahun ke Tahun

Perkembangan    monitor komputer yang saat ini digunakan sebenarnya terbagi menjadi   dua fase. Pada fase pertama tepatnya tahun 1855 ditandai dengan penemuan tabung sinar katoda oleh ilmuwan dari Jerman, yang bernama Heinrich Geissler. Beliau merupakan bapak dari monitor tabung. Setelah 33 tahun, ahli kimia asal Austria, Friedrich Reinitzer, meletakkan dasar pengembangan teknologi LCD dengan menemukan Kristal cairan. Teknologi tabung awalnya memang dikembangkan untuk merealisasikan monitor. Namun, Kristal cairan masih menjadi fenomena kimiawi selama 80 tahun berikutnya. Sejak saat itu, tampilan atau frame rate pun belum terpikirkan. Itulah fase kedua dari tahap pengembangan monitor komputer.

1. Tahun 1855 – Tabung Geissler

Heinrich Geissler berhasil membuat sebuah vakum dalam tabung yang dilengkapi dengan sebuah pompa merkuri.

2. Tahun 1859 –Sinar Katoda

Ditemukan Julius    Plucker, seorang ahli matematika dan fisika dari Jerman, berhasil    menemukan dan menggambarkan sinar katoda untuk pertama kalinya.

3. Tahun 1888 – Penemuan Liquid Crystal

Friedrich    Reinitzer, ahli kimia dari Austria, menemukan fenomena kristal  cairan.   Ia membuat eksperimen dengan sebuah bahan yang memiliki dua  titik  cair.

4. Tahun 1897 – Tabung BRAUN

Karl Ferdinand Braun mengembangkan tabung sinar katoda dengan memperkenalkan aplikasi pertama dengan menggunakan osiloskop.

5. Tahun 1930 – Siaran Full Electronic

Manfred    von Ardenne, ilmuwan universal knowledge berhasil membuat siaran    televisi full electronic pertama. Pada tahun 1931, ia memperkenalkan    penemuannya di ajang International Radio Show di Berlin.

6. Tahun 1963 – Penemuan Liquid Crystal Cyan Biphenyl

George    Gray, ahli kimia dari Universitas Hull Inggris, menemukan kristal    cairan Cyan-Biphenyl. Kristal ini menjadi dasar untuk pengembangan bahan kristal cairan stabil yang digunakan pada LCD sampai saat ini.

7. Tahun 1969 – TN-LCD

Pertama James Fergason mengembangkan teknologi TN (Twisted Nematic) yang mengontrol light transfer dari kristal cairan. Pada generasi awal, komputer terhubung dengan televisi sebagai layar untuk menampilkan hasil pengolahan data. Namun kendala yang terjadi adalah resolusi TV hanya mampu menampilkan 40 karakter secara horizontal pada layar. Monitor khusus untuk komputer awalnya berupa monitor monokrom yang dikeluarkan dari pihak IBM PC sekitar tahun 1970-an. Monitor tersebut beresolusi 80 x 25 dengan kemampuan warna “green monochrome” yang menampilkan hasil lebih terang, jelas, dan lebih stabil. Awal tahun 1980-an muncul jenis monitor CGA dengan range resolusi dari 160 x 200 sampai 640 x 200 dan kemampuan warna antara 2 sampai 16 warna. CGA (Color Graphics Adapter) adalah kartu grafis warna pertama dan standar display berwarna  pertama   untuk PC IBM. Pada dekade yang sama, IBM memperkenalkan Monochrom Display Adapter (MDA) yang hanya bisa menampilkan teks sebanyak 80 kolom dan 25 baris. Secara teori MDA ini memiliki resolusi 720 x 350. Angka ini muncul dari hasil perhitungan lebar karakter (9 piksel) dengan jumlah kolom (80 kolom) dan  tinggi karakter (14 piksel) dengan jumlah baris (25 baris).

8. Kemudian pada tahun 1984

IBM memperkenalkan Enhanched Graphics Adapter (EGA) yang memiliki spesifikasi lebih tinggi dibandingkan dengan CGA. EGA memiliki kemampuan untuk menampikan 16 warna dengan resolusi 640 x 350 yang memungkinkan penggunaan tingkat tinggi seperti menampilkan mode grafis. Jenis monitor ini menggunakan digital video – sinyal TTL (Transistor Transistor Logic) dengan nomor diskrit yang spesifik untuk mengatur warna dan intensitas cahaya. Antara video adapter dan monitor memiliki 2, 4, 16, atau 64 warna tergantung standar grafis yang dimiliki. Meski sudah usang, monitor ini cukup stabil sehingga masih ada beberapa komputer yang menggunakannya sampai berikutnya muncul generasi komputer Windows.

9. Pada tahun 1987

IBM memperkenalkan tampilan standar Video Graphics Adapter (VGA). VGA merupakan standard analog video dengan sinyal R (Red), G (Green) dan B (Blue) yang digunakan untuk menampilkan objek full color dengan intensitas yang tinggi. Meskipun standar VGA sudah tidak digunakan lagi karena sudah digantikan oleh standar yang baru, VGA masih    diimplementasikan pada Pocket PC. VGA merupakan standar grafis terakhir yang diikuti oleh mayoritas pabrik    pembuat kartu grafis komputer. Hal ini dibuktikan dengan melihat generasi-generasi sesudah VGA seperti PGA, XGA, atau SVGA menggunakan teknologi yang sama dengan VGA yaitu standard analog video. Tampilan Windows sampai sekarang juga masih menggunakan modus VGA karena didukung  oleh banyak produsen monitor dan kartu grafis.

10. Pada tahun 1990

IBM memperkenalkan standar grafis Extended Graaphics Array  (XGA),    pengembangan dari 8514/A. Generasi berikutnya yaitu XGS-2, memberikan    resolusi 800 x 600 piksel yang menghasilkan 16 juta warna dan resolusi 1024 x 768 yang menghasilkan 65,536 warna. Kedua jenis resolusi ini merupakan standar grafis yang paling dikenal di  masyarakat. Namun generasi monitor terbaru pada saat ini adalah teknologi Liquid Crystal Display (LCD) yang menggunakan sejenis kristal cair yang dapat berpendar. Teknologi   ini menghasilkan monitor yang dikenal dengan nama Flat Panel Display dengan layar berbentuk pipih, dan kemampuan resolusi yang tinggi.

11. Tahun 2000

Layar Datar untuk Home User Monitor dengan layar datar tipis ini semakin terjangkau harganya bagi home user.

12. Tahun 2005

Layar 3D Pertama Toshiba memperkenalkan layar 3D pertama yang menawarkan efek 3D tanpa menggunakan alat bantu lainnya. Namun, mata harus pada posisi tertentu.

D. Jenis – Jenis Monitor

Ada beberapa jenis monitor yang sudah berkembang dari dulu sampai sekarang, antara lain:

1. Cathode Ray Tube

Teknologi Tabung Brown (CRT Display) ditemukan pada tahun 1897, akan tetapi teknologi ini baru diadopsi sebagai penerima siaran televisi pada tahun 1926. Sejarah penemuan teknologi CRT sudah lebih dari 100 tahun dan memiliki kualitas gambar yang sangat bagus. Akan tetapi teknologi ini mempunyai satu kelemahan yaitu semakin besar display yang akan dibuat maka semakin besar pula tabung yang digunakan.

Pada monitor CRT, layar penampil yang digunakan berupa tabung sinar katoda. Teknologi ini memunculkan tampilan pada monitor dengan cara memancarkan sinar elektron ke suatu titik di layar. Sinar tersebut akan diperkuat untuk menampilkan sisi terang dan diperlemah untuk sisi gelap. Teknologi CRT merupakan teknologi termurah dibanding dengan kedua teknologi yang lain. Meski demikian resolusi yang dihasilkan sudah cukup baik untuk berbagai keperluan. Hanya saja energi listrik yang dibutuhkan cukup besar dan memiliki radiasi elektromagnetik yang cukup kuat.

Kelebihan Monitor CRT

–          Harga relative murah daripada yang lain

–          Warna lebih akurat dan tajam

–          Resolusi monitor fleksibel

–          Perawatan mudah

–          Bebas dead pixel, ghosting dan viewing angle

Kekurangan Monitor CRT

–          Konsumsi listrik yang lebih besar

–          Sinar radiasi yang berakibat kurang baik untuk manusia, baik otak, mata dan sel rambut

–          Bergantung pada refreshrate

–          Rentan distorsi, glare dan flicker

–          Dimensi yang besar dan berat sehingga memakan banyak ruang

index

Gambar Monitor CRT

2.      Liquid Crystal Display (LCD) atau Flat Display Panel (FDP)

Monitor LCD tidak lagi menggunakan tabung elektron tetapi menggunakan sejenis kristal liquid yang dapat berpendar. Teknologi ini menghasilkan monitor yang dikenal dengan nama Flat Panel Display dengan layar berbentuk pipih, dan kemampuan resolusi yang lebih tinggi dibandingkan dengan CRT. Karena bentuknya yang pipih, maka monitor jenis flat tersebut menggunakan energi yang kecil dan banyak digunakan pada komputer-komputer portabel. Kelebihan yang lain dari monitor LCD adalah adanya brightness ratio yang telah menyentuh angka 350 : 1. Brigtness ratio merupakan perbandingan antara tampilan yang paling gelap dengan tampilan yang paling terang.

Liquid Crystal Display menggunakan kristal liquid yang dapat berpendar. Kristal cair merupakan molekul organik kental yang mengalir seperti cairan, tetapi memiliki struktur spasial seperti kristal. (ditemukan pakar Botani Austria – Rjeinitzer) tahun 1888. Dengan menyorotkan sinar melalui kristal cair, intensitas sinar yang keluar dapat dikendalikan secara elektrik sehingga dapat membentuk panel-panel datar.

Lapisan-lapisan dalam sebuah LCD:

– Polaroid belakang

– Elektroda belakang

– Plat kaca belakang

– Kristal Cair

– Plat kaca depan

– Elektroda depan

– Polaroid depan

Elektroda dalam lapisan tersebut berfungsi untuk menciptakan medan listrik pada kristal cair, sedangkan polaroid digunakan untuk menciptakan suatu polarisasi. Dari sisi harga, monitor LCD memang jauh lebih mahal jika dibandingkan dengan monitor CRT. Dan beberapa kelemahan yang masih dimilikinya seperti kurang mampu digunakan untuk bekerja dalam berbagai resolusi, seperti misalnya monitor dengan resolusi 1024 X 768 akan terkesan agak buram jika dipekerjakan pada resolusi 640 X 420. Tatapi akhir-akhir ini kelemahan tersebut sudah mulai di atasi dengan teknik anti aliasing.

Kelebihan Monitor LCD

–          Kualitas gambar lebih jernih dan tajam dari monitor CRT

–          Sinar yang dipancarkan oleh LCD tidak melelahkan mata

–          Konsumsi listrik lebih hemat

–          Pengaturan display user friendly atau mudah

–          Dimensi yang tipis dan ringan sehingga menghemat ruang

Kekurangan Monitor LCD

–          Layar LCD cenderung lebih sensitive

–          Viewing ange terbatas, color depth terbatas dan gradasi warna kuning

–          Tampilan gambar baik hanya di resolusi nativenya

–          Response time dan ghosting

–          Harga lebih mahal, peru perawatan ekstra hati-hati dan dead pixel

lcd

Gambar Monitor LCD

3.      Monitor LED (Light Emitting Diode)

Monitor LED memiliki bentuk seperti Monitor LCD namun monitor LED lebih ramping. Monitor LED memunculkan sebuah tampilan pada layar menggunakan emisi cahaya. Monitor LED menggunakan teknologi LED backlight. LED lebih efisien mengeluarkan cahaya. Kelebihan monitor LED dari segi konsumsi daya listrik monitor LED lebih hemat daripada monitor LCD.  Namun kelemahan monitor LED yaitu harga lebih mahal daripada monitor LCD.

Kelebihan Monitor LED

–          Kontras ganbar yang sangat tajam hingga jutaan pixel

–          Konsumsi listrik yang lebih hemat dibandingkan dengan LCD

–          Usi pemakaian LED lebih panjang

–          Ukuran yang lebih slim lebih ringan daripada LCD

–          Pencahayaan lebih baik dbandingkan LCD

Kekurangan Monitor LED

–          Harga lebih mahal dibandingkan monitor LCD

–          Layar LED yang lebih tipis cenderung lebihh sensitif

led

Gambar Monitor LED

4.      Plasma Gas atau Organic Light Emitting Diode (OLED)

Monitor jenis ini menggabungkan teknologi CRT dengan LCD. Dengan teknologi yang dihasilkan, mampu membuat layar dengan ketipisan menyerupai LCD dan sudut pandang yang dapat selebar CRT.

Plasma gas juga menggunakan fosfor seperti halnya pada teknologi CRT, tetapi layar pada plasma gas dapat perpendar tanpa adanya bantuan cahaya di belakang layar. Hal itu akan membuat energi yang diserap tidak sebesar monitor CRT. Kontras warna yang dihasilkan pun lebih baik dari LCD. Teknologi plasma gas ini sering bisa kita jumpai pada saat pertunjukan-pertunjukan musik atau pertandingan-pertandingan olahraga yang spektakuler. Di sana terdapat layar monitor raksasa yang dipasang pada sudut-sudut arena tertentu. Itulah monitor yang menggunakan teknologi plasma gas.

Setelah kita melihat begitu pesatnya perkembangan LCD, sekarang kita dapat saksikan perkembangan FDP terbaru yang boleh kita katakan sebagai Flat Panel Display Masa Depan. Kenapa FDP terbaru ini kita namakan FDP Masa Depan ? Karena 5-10 tahun yang akan datang mungkin Teknologi LCD akan digantikan posisinya oleh FDP Masa Depan ini. FDP Masa Depan ini berbasis active matrix berteknologi Organic Light Emitting Diode (OLED).

Kelebihan Monitor Plasma

–          Display plasma hamper menyerupai kemamuan monitor CRT, dengan contrast ratio tinggi (10.000 : 1)

–          Reproduksi warna sangat baik dan level black rendah

–          Hamper tidak ada reponse time dan sudut pandang (viewing angle) sangat baik

–          Bentuk ramping

Kelemahan Monitor Plasma

–          Harga relative mahal

–          Memiliki ukuran pixel pitch yang besar

–          Memiliki bobot yang sangat besar

–          Konsumsi daya dan operasional suhu yang tinggi

–          Cell plasma untuk perwakilan tiap pixel gambar hanya memiliki fungsi on/off sehingga reproduksi warna jauh lebih terbatasi dibandingkan tipe CRT ataupun LCD

plasma

Gambar Monitor Plasma

Sabtu, 24 April 2021

 

Sejarah Awal Mula Keyboard dan Perkembangannya




Degi Reyval Febrian
20316051
Teknik Komputer



Sejarah Awal Mula Keyboard dan Perkembangannya

Apabila berbicara mengenai format dan juga standar dari keyboard saat ini, maka banyak pertanyaan muncul di benak anda, mengapa struktur format dari keyboard saat ini menggunakan format QWERTY, dan bukan menggunakan susunan alphabetic ABCDEF? Well, ada beberapa hal yang mendasari mengapa keyboard diciptakan dengan menggunakan susunan QWERTY. Berikut ini adalah beberapa proses perkembangan dan juga sejarah dari penggunaan format QWERTY pada keyboard.

Berawal dari Penggunaan Mesin Tik

Jauh sebelum sebuah komputer beserta perangkat kerasnya diciptakan dunia sudah mengenal apa yang disebut dengan nama mesin tik. Mesin tik pada masa kejayaannya merupakan salah satu primadona, dimana banyak orang bisa menulis dokumen dengan sangat mudah tanpa perlu menulis secara manual dengan tulisan tangan.

Pada tahun 1868, Cristopher Latham Sholes berhasil menemukan sebuah mesin yang dapat membantu mempermudah pekerjaan manusia dalam membuat dokumen, yaitu mesin tik. Penciptaan mesin tik tentu saja menimbulkan euphoria bagi masyarakat, karena dapat membuat dokumen dengan sangat mudah.

Pada saat ditemukan, mesin tik pada dasarnya sudah mampu mengakomodir proses pengetikan cepat, bahkan konon katanya pengetikan dengan menggunakan mesin tik pada saat itu bisa jauh lebih cepat dibandingkan menggunakan keyboard mesin tik pada jaman modern.

Mesin tik pada saat itu merupakan sebuah inovasi yang sangat berguna dan bermanfaat bagi masyarakat luas. Mereka tidak perlu lagi menggunakan tulisan tangan untuk membuat laporan, dokumen ataupun surat. Sehingga akam lebih mempersingkat waktu untuk menulis apapun dengan menggunakan mesin tik.

Pada saat pertama kali diciptakan, ternyata mesin tik tersebut tidak menggunakan papan keyboard QWERTY. Penggunaannya masih menggunakan urutan alphabetic yang sedikit diacak, disesuaikan dengan karakter mana yang banyak ditulis. Dengan adanya keyboard macam ini, maka user bisa menulis dengan lebih cepat dan efisien.

Meskipun keyboard pada mesin tik yang pertama bukan menggunakan QWERTY, dan bisa membantu menulis dan mengetik menjadi lebih cepat, namun ternyata timbul masalah, dimana ketika penulis mengetik terlalu cepat, hal tersebut seringkali menyebabkan mekanisme di dalam mesin tik saling tumpang tindih dan nyangkut satu sama lain. Karena itu, Sholes pun mulai merubah dan mengacak susunan kata – kata dan juga karakter dari mesin tik itu sendiri.

Penggunaan Keyboard pada Saat Ini

Saat ini, penggunaan keyboard menggunakan jenis keyboard yang sudah terstandarisasi oleh ISO (International Standardized Organization) dengan layout berupa QWERTY. QWERTY mengacu pada 5 huruf pertama yang berada pada sisi kiri keyboard anda. Karena merupakan jenis yang sudah distandarisasi secara internasional, maka hampir semua keyboard di dunia menggunakan format qwerty ini.
Penggunaan keyboard QWERTY terdiri banyak sekali tombol, mulai dari ke-26 tombol alphabet, 10 tombol numeric, 12 tombol fungsi, 4 tombol arrow, dan sisanya adalah tombol fungsi lainnya seperti Ctrl, Alt, Backspace, Esc, Home, dan masih banyak lagi. Itu adalah tombol-tombol standar pada sebuah keyboard QWERTY konvensional.

Pada beberapa jenis keyboard lainnya, seperti keyboard untuk gaming, terdapat banyak fungsi yang lebih kompleks lagi, yang mendukung keperluan gaming. Begitu pula dengan desain, diman keyboard design dan juga gaming sengaja dibuat khusus untuk mempermudah melakukan control bagi usernya.

Faktor Fisiensi dari Proses Mengetik

Dari hasil kerja dan mengacak – acak karakter pada sebuah mesin tik tersebut, maka akhirnya didapatkanlah sebuah kombinasi acak yang dapat meningkatkan efisiendi dari penggunaan sebuah mesin tik. Hasil rombakan itula yang kita kenal saat ini dengan nama QWERTY. QWERTY memungkinkan penulis mengetik dengan cepat namun dapat megngurangi gangguan mekanisme dari mesin tik secara signifikan.

Pemilihan Tombol yang Paling Sering Digunakan

Penggunaan QWERTY pada saat diciptakan pada dasarnya mengacu pada perhitungan efisiensi waktu mengetik, dan juga tombol – tombol serta huruf mana saja yang sering digunakan, dan juga jarang digunakan. Hal ini membuat beberapa huruf yang sering digunakan dalam satu kata atau kalimat dibuat agar tidak bersebelahan atau berdekatan, sehingga dapat meminimalisir gangguan mekanisme mesin tik.

Begitupun sebaliknya, tombol yang merepresentasikan penggunaan huruf atau karakter yang jarang digunakan diletekan agak terpencil, terlihat dari peletakan huruf z dan juga x yang sulit dijangkau, karena memang huruf tersebut jarang digunakan.

Pada saat jaman komputer sudah mulai banyak digunakan, keyboard mulai banyak diproduksi. Pada awa masa penggunananya, produksi dan juga penggunaan dari sebuah keyboard masih menggunakan kabel klasik, yaitu kabel dengan port Ps/2 (baca juga mengenai fungsi port pada komputer). Namun demikian, seiring dengan perkembangan masa, maka penggunaan keyboard mulai menggunakan port USB, bahkan ada beberapa keyboard yang saat ini bisa digunakan dengan cara wireless alias tanpa kabel.

Peresmian QWERTY oleh ISO

Pada akhirnya, keyboard hasil acak – mengacak ini pun diterima secara luas, dan mulai dipatenkan. Pada tahun 1973, format keyboard, dengan susunan huruf qwerty diakui oleh organisasi standarisasi dunia (ISO) menjadi format standar pada sebuah papan ketik atau keyboard.

Dengan diresmikan dan juga dipatenkannya QWERTY sebagai standar dari sebuah keyboard, maka hal ini pun berujung pada munculnya perangkat terutama mesin tik yang menggunakan keyboard degnan format QWETY. Pada tahun 1960 hingga 1970-an pun juga menjadi salah satu era berlembangnya komputer dan juga mulai banyak digunakannya komputer secara luas, berkat perkembangan dari jaringan komputer. Maka semakin populerlah keyboard dengan format QWERTY sebagai alat input pada komputer.

Meskipun memilki format yang sama, namun demikian, pastilah penggunaan keyboard pada mesin tik dan juga komputer memiliki perbedaan yang jauh, kaena fungsi dari keyboard komputer jauh lebih kompleks dan bisa digunakan untuk banyak kepentingan, tidak hanya untuk melakukan proses pengetikan semata.

Sekian Informasi mengenai Sejarah Awal Mula Keyboard dan Perkembangannya, Bagi bapak/ibu semua yang sedang mencari / membutuhkan Laptop Komputer Bekas dengan harga yang cukup murah dan kompetitif dengan kualitas yang bagus dan terjamin garansinya, silahkan menghubungi ke Nomor Telpon Kontak Layanan CS Kami Disini. terimakasih sudah berkunjug di Website INDO-SOLUTION yang menginformasikan tentang artikel Sejarah Awal Mula Keyboard dan Perkembangannya, Salam Sukses Selalu Ya.

Jumat, 23 April 2021

MAKALAH

SINGKRONISASI

SISTEM OPERASI





DEGI REYVAL FEBRIAN

20316051

TEKNIK KOMPUTER




Kata pengantar
Puji syukur kami panjatkan kehadirat Allah SWT yang telah memberikan rahmat serta karunia-Nya kepada kami sehingga kami berhasil menyelesaikan Makalah ini yang alhamdulillah tepat pada waktunya yang berjudul SINKRONISASI ” Makalah ini berisikan tentang informasi mengenai sinkronisasi atau yang lebih khususnya membahas tentang pengenalan lebih jelas tentang sinkronikasi , tujuan sinkronikasi pada sistem operasi dan lain-lainKami menyadari bahwa makalah ini masih jauh dari sempurna, oleh karena itu kritik dan saran dari semua pihak yang bersifat membangun selalu kami harapkan demi kesempurnaan makalah ini.
 Akhir kata, kami sampaikan terima kasih kepada bapak dosen yang memberi tugas ini dan berterima kasih kepada Allah Swt karena telah memberikan kami kesehatan sehingga kami dapat mengerjakan makalah ini. Semoga Allah SWT senantiasa meridhai segala usaha kami. Amin




                                                                                         
                                                                                         


Daftar isi
Kata pengantar...........................................................................
BAB I PENDAHULUAN...............................................................
BAB II ISI......................................................................................
Pengertian sinkronisasi...................................................................
Manfaat sinkronisasi......................................................................
Tujuan sinkronisasi .......................................................................
Masalah dalam sinkronisasi...........................................................
Sinkronisasi hardware....................................................................
Semaphores ...................................................................................
Monitors ........................................................................................
Contoh kasus..................................................................................
BAB III PENUTUP......................................................................
Review     








BAB I
 PENDAHULUAN


                Sinkornisasi di perlukan untuk menghindari terjadinya ketidak konsistenan data akibat adanya akses secara konkuren. Proses-Proses tersebut disebut konkuren jika Proses itu ada dan berjalan pada waktu yang bersamaan.
            Istilah Sinkronisasi sering terdengar ketika kita menggunakan alat elektronik.  Sinkronisasi sendiri berasal dari bagian sistem operasi.
            Sistem operasi adalah perangkat lunak sistem yang bertugas untuk melakukan kontrol dan manajemen perangkat keras serta operasi-operasi dasar sistem, termasuk menjalankan perangkat lunak aplikasi seperti program-program pengolah kata dan peramban web.
            Jadi, agar sinkronisasi bisa berjalan, sangat di butuhkan yang namanya sistem operasi. Dalam kehidupan sehari-hari tanpa di sadari, kita sering melakukan sinkronisasi dalam berbagai hal. Mulai pada saat menggunakan smartphone, komputer dan lain sebagainya.















BAB II
ISI

PENGERTIAN SINKRONISASI
Sinkronisasi adalah suatu proses dimana proses tersebut saling bersamaan dan saling berbagi data bersama yang mengakibatkan race condition atau lebih dikenal dengan inkonsistensi data atau suatu proses pengaturan jalannya beberapa proses pada waktu yang bersamaan untuk menyamakan waktu dan data supaya tidak terjadi inconsitensi (ketidak konsistenan) data akibat adanya akses data secara konkuren agar hasilnya bagus dan sesuai dengan apa yang diharapkan.
MANFAAT SINKRONISASI.
  • Bermanfaat untuk menyimpan data, baik sementara atau pemanen sehingga memudahkan pekerjaan.
  • Jadi dengan menggunakan sistem ini pekerjaan Anda akan lebih terbantu dan lebih efektif karena bisa menghemat waktu.
TUJUAN SINKRONISASI
Kenapa Sistem Operasi membutuhkan Sinkronisasi ?
Tujuan dari sinkronisasi itu sendiri ialah untuk menghindari terjadinya inkonsitensi data karena pengaksesan oleh beberapa proses yang berbeda serta untuk mengatur urutan jalannya proses-proses sehingga dapat berjalan dengan baik dan sesuai apa yang di harapkan.
sama Seperti yang kita ketahui bahwa hidup saling berkaitan satu sama lain, begitu juga Sinkronisasi Pada Sistem Operasi.jika Hal ini jika tidak ada penopang dalam menjalankan suatu sistem, maka akan menemui suatu kendala yang berakibat ketidakkonsistenan pada data, sehingga data tidak menjadi konkuren. 

MASALAH DALAM SINKRONISASI
o   Race Condition
Arti dari Race Conditon adalah situasi di mana beberapa proses mengakses dan memanipulasi data bersama pada saat besamaan. Nilai akhir dari data bersama tersebut tergantung pada proses yang terakhir selesai.

Untuk mencegah race condition, proses-proses yang berjalan besamaan harus di disinkronisasi.
Dalam beberapa sistem operasi, proses-proses yang berjalan bersamaan mungkin untuk membagi beberapa penyimpanan umum, masing-masing dapat melakukan proses baca (read) dan proses tulis (write).
 Penyimpanan bersama (shared storage) mungkin berada di memori utama atau berupa sebuah berkas bersama, lokasi dari memori bersama tidak merubah kealamian dari komunikasi atau masalah yang muncul. Untuk mengetahui bagaimana komunikasi antar proses bekerja, mari kita simak sebuah contoh sederhana, sebuah print spooler. Ketika sebuah proses ingin mencetak sebuah berkas, proses tersebut memasukkan nama berkas ke dalam sebuah spooler direktori yang khusus. Proses yang lain, printer daemon, secara periodik memeriksa untuk mengetahui jika ada banyak berkas yang akan dicetak, dan jika ada berkas yang sudah dicetak dihilangkan nama berkasnya dari direktori.
o   Critical Section
Arti dari masalah Critical Section adalah sebuah segmen kode di mana sebuah proses yang mana sumber daya diakses bersama .
Critical Section ini sendiri mempunyai beberapa kode seperti :
Entry Section :  adalah kode yang digunakan untuk masuk ke dalam critical section.
Critical Section : Kode di mana hanya ada satu proses yang dapat dieksekusi pada satu waktu.
Exit Section: akhir dari critical section, mengizinkan proses lain.
Remainder Section : kode istirahat setelah masuk ke critical section.

Solusi untuk mencegah kesalahan pada critical section
Kunci untuk mencegah masalah ini dan di situasi yang lain yang melibatkan shared memori, shared berkas, and shared sumber daya yang lain adalah menemukan beberapa jalan untuk mencegah lebih dari satu proses untuk melakukan proses writing dan reading kepada shared data pada saat yang sama. Dengan kata lain kita membutuhkan mutual exclusion, sebuah jalan yang menjamin jika sebuah proses sedang menggunakan shared berkas, proses lain dikeluarkan dari pekerjaan yang sama. Kesulitan yang terjadi karena proses 2 mulai menggunakan variabel bersama sebelum proses 1 menyelesaikan tugasnya.
Masalah menghindari race conditions dapat juga diformulasikan secara abstrak. Bagian dari waktu, sebuah proses sedang sibuk melakukan perhitungan internal dan hal lain yang tidak menggiring ke kondisi race conditions.
 Bagaimana pun setiap kali sebuah proses mengakses shared memory atau shared berkas atau melakukan sesuatu yang kritis akan menggiring kepada race conditions. Bagian dari program dimana shaed memory diakses disebut Critical Section atau Critical Region.
Walau pun dapat mencegah race conditions, tapi tidak cukup untuk melakukan kerjsama antar proses secara pararel dengan baik dan efisien dalam menggunakan shared data. Kita butuh 4 kondisi agar menghasilkan solusi yang baik yaitu:
·         Tidak ada dua proses secara bersamaan masuk ke dalam citical section.
·          Tidak ada asumsi mengenai kecepatan atau jumlah cpu.
·          Tidak ada proses yang berjalan di luar critical secion yang dapat mengeblok proses lain.
·         Tidak ada proses yang menunggu selamamya untuk masuk critical section.

Ada pun Solusi lain untuk mengatasi masalah Critical Section, yaitu:
Mutual exclution : yaitu Jika proses pi sedang mengeksekusi critical section-nya maka tidak ada proses lain yang dapat mengeksekusi dalam critical section mereka.
 Progress : Jika tidak ada proses yang sedang dieksekusi dalam critical section  dan ada beberapa proses yang ingin masuk ke critical section mereka, maka pemilihan proses yang akan masuk ke critical section berikutnya tidak bisa ditunda.
Bounded Waiting :Suatu keterikatan harus ada pada sejumlah proses yang diijinkan masuk ke critical section mereka, setelah adanya proses yang meminta masuk ke critical section dan sebelum  permintaan itu diterima.


Selain masalah race condition dan critical yang  ada sinkronisasi ,ada juga masalah klasik yang terjadi pada sinkronisasi di sistem operasi seperti :
o   Bounded – Buffer Problem
Bounded-buffer problem merupakan suatu struktur data yang mampu untuk menyimpan beberapa nilai dan mengeluarkannya kembali ketika diperlukan . Jika dianalogikan bounded buffer ini akan mirip dengan sebuah tumpukan piring. Kita menaruh piring dan menaruh lagi sebuah piring, ketika ingin mengambil piring maka tumpukan yang paling atas yang akan terambil.Jadi piring terakhir yang dimasukan akan pertama kali diambil.

Solusi Bounded – Buffer Problem
Solusi Shared Memory untuk Bounded – Buffer, mengijinkan (n-1) items di dalam buffer untuk suatu waktu tertentu.
o   Readers and Writers Problem
Readers and Writers Problem adalah problem yang memodelkan proses yang mengakses database. Masalah ini timbul ketika ada dua proses atau lebih berbagi data yang sama. Data yang dimaksud disini bisa berbentuk buffer, file atau objek dari suatu program.
Solusi readels and writers problem
Pembaca di Prioritaskan
 Reader tidak akan menunggu reader(s) lain yang sedang membaca, walaupun ada writer yang sedang menunggu. Dengan kata lain, Jika ada reader yang datang ketika reader lain sedang membaca dan sebuah writer sedang menunggu, maka reader yang baru datang tersebut akan langsung mendapat giliran untuk membaca. Writer akan ditunda pengerjaannya.
Penulis di Prioritaskan
Di mana suatu writer sedang dijalankan oleh sistem, maka tidak boleh ada reader yang memulai untuk membaca data.sehingga Kedua Jenis Punya Prioritas yang Sama yaitu tidak ada prioritas khusus yang diberikan kepada kedua jenis proses.

o   Dining Philosophers Problem
Masalah ini pertama ini pertama kali ditulis dan diselesaikan oleh Djikstra pada tahun 1965.Masalah ini memodelkan masalah enkapsulasi dari ketergantungan mesin dan masalah portabilitas. Dalam masalah Dining Philosophers, diketahui sejumlah (N) filusuf yang hanya memiliki tiga status, berpikir, lapar, dan makan. Semua filusuf berada di sebuah meja makan bundar yang ditata sehingga di depan setiap filusuf ada sebuah piring berisi mie dan di antara dua piring yang bersebelahan terdapat sebuah sumpit.

Solusi Dining Philosophers Problem
Solusi Dining – Philosophers Problem ada dua, yakni :
Solusi Waiter
Solusi Waiter : solusi sederhana ini dilakukan dengan mengadakan seorang waiter yang senantiasa mengawasi penggunaan sumpit di meja makan. Ketika empat buah (dua pasang) sumpit sedang dipakai,orang berikutnya yang ingin memakai sumpit harus meminta izin kepada sang waiter, yang hanya dapat diberi ketika salah satu sumpit telah selesai terpakai.

Solusi Hierarki Resource 
Solusi Hirarki Resource: resources (sumpit) di meja makan telah diberi susunan hirarki. Setiap permintaan orang terhadap sebuah sumpit harus dilakukan pada susunan tertentu, dan dikembalikan pada susunan sebaliknya. Dalam hal ini, setiap orang dapat mengambil sumpit dimanapun diatas meja. Misalkan setiap sumpit diberi nomor sebagai tingkat hirarki dari 1 sampai 5, seseorang hanya dapat mengambil sumpit dengan nomor yang paling rendah, kemudian mengambil sumpit yang setingkat lebih tinggi. Ketika ia hendak mengembalikannya, orang itu harus meletakkan sumpit dengan nomor yang lebih tinggi terlebih dahulu, lalu yang rendah.

Sinkronisasi Hardware
Sinkronisasi Memerlukan dukungan hardware (prosesor).
·         Dalam bentuk “instruction set” khusus: test-and-set.
·         Menjamin operasi atomik (satu kesatuan): test nilai dan mengubah nilai tersebut .

Test-and-Set (mutual exclusion).
Mutual exclusion dapat diterapkan dengan menggunakan shared data,

Semaphores
Semaphores adalah sebuah struktur data komputer yang digunakan untuk sinkronisasi proses, yaitu untuk memecahkan masalah di mana lebih dari satu proses atau thread dijalankan secara bersamaan dan harus diatur urutan kerjanya. Semafor dicetuskan oleh Edsger Dijkstra dan pertama digunakan dalam sistem operasi THE.
Nilai semafor diinisialisasi dengan jumlah resource yang dikendalikannya. Dalam kasus khusus di mana ada satu shared resource, semafornya disebut "semafor biner". Semafor adalah solusi klasik dari dining philosophers problem, walaupun tidak mencegah deadlock.
Prinsip bahwa dua proses atau lebih dapat bekerja sama dengan menggunakan penanda-penanda sederhana. Seperti proses dapat dipaksa berhenti pada suatu saat, sampai proses mendapatkan penanda tertentu itu. Sembarang kebutuhan koordinasi kompleks dapat dipenuhi dengan struktur penanda yang cocok untuk kebutuhan itu. Variabel khusus untuk penanda ini disebut semaphore.

Semaphore mempunyai dua sifat, yaitu:

·         Semaphore dapat diinisialisasi dengan nilai non-negatif.
Operasi ini menurunkan nilai semaphore, jika nilai semaphore menjadi non-positif maka proses yang mengeksekusinya diblocked.
·         Terdapat dua operasi terhadap semaphore, yaitu Down dan Up.
Operasi Down adalah atomic, tak dapat diinterupsi sebelum diselesaikan.menurunkan nilai, memeriksa nilai, menempatkan proses pada antrian dan memblocked sebagai instruksi tunggal. Sejak dimulai, tak ada proses lain yang dapat mengakses semaphore sampai operasi selesai atau diblocked.
Operasi Up menaikkan nilai semaphore. Jika satu proses atau lebih diblocked pada semaphore itu tak dapat menyelesaikan operasi Down, maka salah satu dipilih oleh system dan menyelesaikan operasi Down-nya. Urutan proses yang dipilih tidak ditentukan oleh Djikstra, dapat dipilih secara acak.

Dua Jenis Semaphore
Counting semaphore

-          nilai integer S dapat berkisar melalui domain tak terbatas.
-          Biasanya nilai S diinisiasi sebanyak resource yang dibagi
-          Jika S=0, maka semua resource sedang dipakai

Binary semaphore

-          nilai integer S dapat mempunyai jangkauan 0 atau 1
-          Lebih sederhana untuk diimplementasikan


Implementasi Semaphore
Untuk menghindari busy waiting, process yang menunggu akses critical-section harus dihentikan sementara.
Ada dua operasi sederhana yang terlibat :
block : menghentikan sementara (suspend) proses yang memanggil
wakeup(P) : melanjutkan (resume) eksekusi dari proses P yang di-blok
Semaphore tanpa busy waiting butuh struktur data untuk menyimpan process yang sedang suspend.


Monitors
Solusi sinkronisasi ini dikemukakan oleh Hoare pada tahun 1974. Monitor adalah kumpulan prosedur, variabel dan struktur data di satu modul atau paket khusus. Proses dapat memanggil prosedur-prosedur kapan pun diinginkan. Tapi proses tak dapat mengakses struktur data internal dalam monitor secara langsung. Hanya lewat prosedur-prosedur yang dideklarasikan monitor untuk mengakses struktur internal.
Dengan memaksakan disiplin hanya satu proses pada satu saat yang berjalan pada monitor, monitor menyediakan fasilitas mutual exclusion. Variabel-variabel data dalam monitor hanya dapat diakses oleh satu proses pada satu saat. Struktur data bersama dapat dilindungi dengan menempatkannya dalam monitor. Jika data pada monitor merepresentasikan sumber daya, maka monitor menyediakan fasilitas mutual exclusion dalam mengakses sumber daya itu.
Properti-properti monitor adalah sebagai berikut:
-          Variabel-variabel data lokal, hanya dapat diakses oleh prosedur-prosedur dalam monitor dan tidak boleh prosedur di luar monitor.
-          Hanya satu proses yang dapat aktif di monitor pada satu saat. Kompilator harus mengimplementasi ini(mutual exclusion).
-          Terdapat cara agar proses yang tidak dapat berlangsung di-blocked. Menambahkan variabel-variabel kondisi, dengan dua operasi, yaitu Wait dan Signal.
-          Wait: Ketika prosedur monitor tidak dapat berlanjut (misal producer menemui buffer penuh) menyebabkan proses pemanggil diblocked dan mengizinkan proses lain masuk monitor.
-          Signal: Proses membangunkan partner-nya yang sedang diblocked dengan signal pada variabel kondisi yang sedang ditunggu partnernya.
-          Versi Hoare: Setelah signal, membangunkan proses baru agar berjalan dan menunda proses lain.
Monitor mensinkronisasi sejumlah proses:
suatu saat hanya satu yang aktif dalam monitor dan yang lain menunggu
Bagian dari bahasa program (mis. Java).
Tugas compiler menjamin hal tersebut terjadi dengan menerjemahkan ke “low level synchronization” (semphore, instruction set dll)
-          Cukup dengan statement (deklarasi) suatu section/fungsi adalah monitor => mengharuskan hanya ada satu proses yang berada dalam monitor (section) tsb







Proses-proses harus disinkronisasikan di dalam monitor:
o   Memenuhi solusi critical section.
o   Proses dapat menunggu di dalam monitor.
o   Mekanisme: terdapat variabel (condition) dimana proses dapat menguji/menunggu sebelum mengakses “critical section”
                                                var x, y: condition

Condition: memudahkan programmer untuk menulis code pada monitor.
    Misalkan : var x: condition ;
o   Variabel condition hanya dapat dimanipulasi dengan operasi: wait() dan signal()
o   x.wait() jika dipanggil oleh suatu proses maka proses tsb. akan suspend - sampai ada proses lain yang memanggil: x. signal()
o   x.signal() hanya akan menjalankan (resume) 1 proses saja yang sedang menunggu (suspend) (tidak ada proses lain yang wait maka tidak berdampak apapun)

Contoh Kasus Bounded – Buffer pada sinkronisasi
            Pada bagian ini akan dicontohkan suatu produser konsumer. produser akan menghasilkan suatu barang dan konsumer akan mengkonsumsi barang yang dihasilkan oleh produser. produser dan konsumer ini akan mengakses bounded buffer yang sama. produser setelah menghasilkan suatu barang dia akan menaruh barang itu di bounded buffer sebaliknya konsumer ketika membutuhkan suatu barang, dia akan mengambilkannya dari bounded buffer.

Contoh kasus Readers and Writers Problem pada sinkronisasi
Reader tidak akan menunggu reader(s) lain yang sedang membaca, walaupun ada writer yang sedang menunggu. Dengan kata lain, Jika ada reader yang datang ketika reader lain sedang membaca dan sebuah writer sedang menunggu, maka reader yang baru datang tersebut akan langsung mendapat giliran untuk membaca. Writer akan ditunda pengerjaannya.Di mana suatu writer sedang dijalankan oleh sistem, maka tidak boleh ada reader yang memulai untuk membaca data.Dengan tidak ada prioritas khusus yang diberikan kepada kedua jenis proses.
Contoh Kasus Dining – Philosophers Problem pada sinkronisasi
 Pada sebuah computer tentunya terdapat aplikasi-aplikasi yang dapat memudahkan kita untuk melakukan suatu pekerjaan. Namun disamping kemudahan yang diberikan, terdapat ancaman negative yang dapat aplikasi-aplikasi itu berikan pada computer kita jika kita tidak menggunakannya dengan benar. Suatu contoh ketika kita mengerjakan suatu tugas. Kita membuka dan menjalankan beberapa aplikasi secara bersamaan. Aplikasi yang kita gunakan misalnya ms. Word (membuka 6 file word sebagai sumber tugas), winamp untuk memainkan lagu, firefox untuk browsing internet, pidgin untuk sesekali chating, sementara itu aplikasi start up yang berjalan juga banyak dan RAM yang tersedia tidak begitu besar sehingga hal ini akan membuat computer menjalankan aplikasi itu terus-menerus jika kita tidak mematikannya. Hal ini akan membuat computer berjalan semakin lambat dan memungkinkan terjadinya starvation atau deadlock dalam beberapa waktu kemudian.
Contoh Kasus semaphores sinkronisasi


Keterangan:
·         Mula-mula nilai s = 1, proses A, B, D, dan C berada dalam status ready; proses A dieksekusi, nilai s berkurang menjadi 0
·         Proses A selesai  masuk status ready; proses B dieksekusi  s menjadi -1  proses B di-blok  masuk antrian
·         Proses D dieksekusi
·         semSignal  s menjadi 0  proses B dibebaskan dari antrian; proses D selesai  masuk status ready (mulai) lagi Urutan eksekusi: A, B, D
·         Proses C dieksekusi  s menjadi -1  C di-blok  masuk antrian; hal yang sama
terjadi pula untuk proses A dan B  diblok  masuk antrian  s menjadi -3
·         Proses D dieksekusi lagi
·         semSignal s menjadi -2  proses C dibebaskan Urutan eksekusi: A, B, D, C, A, B, D, C, D, A, D, B, D, C, D, A, D, …

Contoh kasus monitors sinkronisasi
 









Penyelesaian Masalah Monitor dapat dianalogikan sebagai sebuah bangunan dengan tiga buah ruangan yaitu satu buah ruangan kontrol, satu buah ruang-tunggu-masuk, satu buah ruang-tunggu-dalam. Ketika suatu thread memasuki monitor, ia memasuki ruang-tunggu-masuk (enter). Ketika gilirannya tiba, thread memasuki ruang kontrol (acquire), di sini thread menyelesaikan tugasnya dengan shared resource yang berada di ruang kontrol (owning). Jika tugas thread tersebut belum selesai tetapialokasi waktu untuknya sudah habis atau thread tersebut menunggu pekerjaan thread lain selesai, thread melepaskan kendali atas monitor (release) dan dipindahkan ke ruang-tunggu-dalam (waiting queue). Ketika gilirannya tiba kembali, thread memasuki ruang kontrol lagi (acquire). Jika tugasnya selesai, ia keluar dari monitor (release and exit)

BAB III
 PENUTUP

Demikian yang dapat saya susun mengenai materi yang menjadi pokok bahasan dalam makalah ini, tentunya masih banyak kekurangan dan kelemahannya, kerena terbatasnya pengetahuan yang saya ketahui dan kurangnya rujukan atau referensi yang ada hubungannyadengan            judul makalah ini.

    Saya  banyak berharap para pembaca dan kepada bapak dosen sudi memberikan kritik dan saran yang membangun kepada diri saya demi sempurnanya makalah ini dan untuk penulisan makalah di kesempatan – kesempatan berikutnya menjadi lebih baik lagi.
  Semoga makalah ini berguna bagi saya pada khususnya juga para pembaca pada umumnya.



Alamat web Program studi, Fakultas, Universitas :

NAMA MAHASISWA : DEGI REYVAL FEBRIAN

ANALISA ALGORITMA

  ANALISA ALGORITMA Nama : Degi Reyval Febrian Npm  : 20316051 Kelas  : Teknik Komputer   CONTOH BUBBLE SORT 1. Algoritma Bubble Sort 1.    ...