Buku tentang Tutorial Membuat Aplikasi Desktop dengan Database Access dan Java

selamat malam kali ini untuk mengisi malam jumat yang kelabu saya mau bagi- bagi suatu buku kepada teman-teman semua temanya tentang bagaimana belajar database. Tetapi disini saya menggunakan database access kususnya microsoft  access 2013 dan untuk tambahan tampilan desktop akan saya gabungkan dengan java desktop :D. Ok langsung saja kali ini saya suguhkan bukunya di baca di praktekan dan di download kalau bisa supaya bermanfaat ini buku amin :)

Cara Membuat Koneksi Database MYSQL dengan PDO PHP

selamat siang sudah lama saya tidak posting nih ? ada sedikit tutorial yang akan saya bagikan pada teman-teman semua. Ini berhubungan dengan masalah PHP yaitu dengan teknologi terbaru nya yaitu dengan menggunakan PDO. Pada bahasan disini saya mulai dari yang dasar dulu yaitu dengan membuat koneksi database menggunakan pdo(PHP DATA OBJECT) sebenernya caranya cukup simple scriptnya berikut script codenya silakan ditiru ya ?


selamat mencoba dan tunggu tutorial pdo berikutnya :)

Cara Membuat Program Struktur Data Dengan Menerapkan Algoritma Dijkstra

Algoritma Dijkstra, (dinamai menurut penemunya, seorang ilmuwan komputer, Edsger Dijkstra), adalah sebuah algoritma rakus (greedy algorithm) yang dipakai dalam memecahkan permasalahan jarak terpendek (shortest path problem) untuk sebuah graf berarah (directed graph) dengan bobot-bobot sisi (edge weights) yang bernilai tak-negatif.
Misalnya, bila vertices dari sebuah graf melambangkan kota-kota dan bobot sisi (edge weights) melambangkan jarak antara kota-kota tersebut, maka algoritma Dijkstra dapat digunakan untuk menemukan jarak terpendek antara dua kota.
Input algoritma ini adalah sebuah graf berarah yang berbobot (weighted directed graphG dan sebuah sumber vertex s dalam G dan V adalah himpunan semua vertices dalam graph G.
Setiap sisi dari graf ini adalah pasangan vertices (u,v) yang melambangkan hubungan dari vertex u ke vertex v. Himpunan semua tepi disebut E.
Bobot (weights) dari semua sisi dihitung dengan fungsi
w: E → [0, ∞)

jadi w(u,v) adalah jarak tak-negatif dari vertex u ke vertex v.
Ongkos (cost) dari sebuah sisi dapat dianggap sebagai jarak antara dua vertex, yaitu jumlah jarak semua sisi dalam jalur tersebut. Untuk sepasang vertex s dan t dalam V, algoritma ini menghitung jarak terpendek dari s ke t. dikutip dari wikipedia
kode program Algoritma Dijkstra dibuat menggunakan bahasa c


nah sudah jadi kan program nya cukup simple kan :D

Membuat Berbagai Operator Insert Atau Sisip Single Linked List dengan Bahasa C/ C++

Berikut ini saya akan membuat program single linked list yaitu dengan berbagai operator insert atau sisip yang diantaranya ada sebagai berikut fungsi sisip sebelum simpul, sisip setelah simpul dan sisip akhir ada juga sisip awal cukup lengkapkan. dengan ketentuan sebagai berikut : 
Untuk fungsi sisip sebelum simpul, jika data harus disisip di awal list maka akan mengubah posisi head. Demikian juga jika simpul tertentu yang dimaksud tidak ada maka ada pesan simpul baru tidak dapat disisipkan. 
Untuk fungsi sisip setelah simpul, jika simpul tertentu yang dimaksud tidak ada maka ada pesan simpul baru tidak dapat disisipkan. Selain kondisi tersebut, lakukan sisip di tengah. 
berikut listing kodenya


output nya kurang lebih seperti ini pada tampilan awal
#Tampilan  Awal.



selamat mencoba semoga bermanfaat

Konsep Penjadwalan Disk

berikut ini akan menjelaskan tentang penjadwalan disk yang ada di sistem operasi. berikut beberapa metode penjadwalan yang sering di gunakan. Pahami satu persatu ya?
Penjadualan FCFS
Bentuk paling sederhana dalam penjadualan disk adalah dengan sistem antrian (queue) atau First Come First Served (FCFS). Algoritma ini secara intrinsik bersifat adil, tetapi secara umum algoritma ini pada kenyataannya tidak memberikan pelayanan yang paling cepat. Sebagai contoh, antrian permintaan pelayanan disk untuk proses I/O pada blok dalam silinder adalah sebagai berikut: 98, 183, 37, 122, 14, 124, 65, 67. Jika head pada awalnya berada pada 53, maka headakan bergerak dulu dari 53 ke 98, kemudian 183, 37, 122, 14, 124, 65, dan terakhir 67, dengan total pergerakan head sebesar 640 silinder.
Permasalahan dengan menggunakan penjadualan jenis ini dapat diilustrasikan dengan pergerakan dari 122 ke 14 dan kembali lagi ke 124. Jika permintaan terhadap silinder 37 dan 14 dapat dikerjakan/ dilayani secara bersamaan, baik sebelum mau pun setelah permintaan 122 dan 124, maka pergerakan total head dapat dikurangi secara signifikan, sehingga dengan demikian pendayagunaan akan meningkat.
Penjadualan SSTF
Sangat beralasan jika kita menutup semua pelayanan pada posisi head saat ini, sebelum menggerakkan headke tempat lain yang jauh untuk melayani suatu permintaan. Asumsi ini mendasari algoritma penjadualan kita yang kedua yaitu shortest-seek-time-first(SSTF). Algoritma ini memilih permintaan dengan berdasarkan waktu pencarian atau seek time paling minimum dari posisi head saat itu. Karena waktu pencarian meningkat seiring dengan jumlah silinder yang dilewati oleh head, maka SSTF memilih permintaan yang paling dekat posisinya di diskterhadap posisi head saat itu.
Perhatikan contoh antrian permintaan yang kita sajikan pada penjadualan FCFS, permintaan paling dekat dengan posisi head saat itu (53) adalah silinder 65. Jika kita penuhi permintaan 65, maka yang terdekat berikutnya adalah silinder 67. Dari 67, silinder 37 letaknya lebih dekat ke 67 dibandingkan silinder 98, jadi 37 dilayani duluan. Selanjutnya, dilanjutkan ke silinder 14, 98, 122, 124, dan terakhir adalah 183. Metode penjadualan ini hanya menghasilkan total pergerakan headsebesar 236 silinder -- kira-kira sepertiga dari yang dihasilkan penjadualan FCFS. Algoritma SSTF ini memberikan peningkatan yang cukup signifikan dalam hal pendayagunaan atau performance sistem.
Penjadualan SSTF merupakan salah satu bentuk dari penjadualan shortest-job-first (SJF), dan karena itu maka penjadualan SSTF juga dapat mengakibatkan starvation pada suatu saat tertentu. Kita ketahui bahwa permintaan dapat datang kapan saja. Anggap kita memiliki dua permintaan dalam antrian, yaitu untuk silinder 14 dan 186. Selama melayani permintaan 14, kita anggap ada permintaan baru yang letaknya dekat dengan 14. Karena letaknya lebih dekat ke 14, maka permintaan ini akan dilayani dulu sementara permintaan 186 menunggu gilirannya. Jika kemudian berdatangan lagi permintaan-permintaan yang letaknya lebih dekat dengan permintaan terakhir yang dilayani jika dibandingkan dengan 186, maka permintaan 186 bisa saja menunggu sangat lama. Kemudian jika ada lagi permintaan yang lebih jauh dari 186, maka juga akan menunggu sangat lama untuk dapat dilayani.
Walau pun algoritma SSTF secara substansial meningkat jika dibandingkan dengan FCFS, tetapi algoritma SSTF ini tidak optimal. Seperti contoh diatas, kita dapat menggerakkan head dari 53 ke 37, walau pun bukan yang paling dekat, kemudian ke 14, sebelum menuju 65, 67, 98, 122, dan 183. Strategi ini dapat mengurangi total gerakan headmenjadi 208 silinder.
Penjadualan SCAN
Pada algoritma SCAN, pergerakan disk arm dimulai dari salah satu ujung disk, kemudian bergerak menuju ujung yang lain sambil melayani permintaan setiap kali mengunjungi masing-masing silinder. Jika telah sampai di ujung disk, maka disk arm bergerak berlawanan arah, kemudian mulai lagi melayani permintaan-permintaan yang muncul. Dalam hal ini disk arm bergerak bolak-balik melalui disk.
Kita akan menggunakan contoh yang sudah dibarikan diatas. Sebelum melakukan SCAN untuk melayani permintaan-permintaan 98, 183, 37, 122, 14, 124, 65, dan 67, kita harus mengetahui terlebih dahulu pergerakan head sebagai langkah awal dari 53. Jika disk arm bergerak menuju 0, maka head akan melayani 37 dan kemudian 14. Pada silinder 0, disk arm akan bergerak berlawanan arah dan bergerak menuju ujung lain dari disk untuk melayani permintaan 65, 67, 98, 122, 124, dan 183. Jika permintaan terletak tepat pada head saat itu, maka akan dilayani terlebih dahulu, sedangkan permintaan yang datang tepat dibelakang head harus menunggu dulu head mencapai ujung disk, berbalik arah, baru kemudian dilayani.
Algoritma SCAN ini disebut juga algoritma lift/ elevator, karena kelakuan disk arm sama seperti elevator dalam suatu gedung, melayani dulu orang-orang yang akan naik ke atas, baru kemudian berbalik arah untuk melayani orang-orang yang ingin turun ke bawah.
Kelemahan algoritma ini adalah jika banyak permintaan terletak pada salah satu ujung disk, sedangkan permintaan yang akan dilayani sesuai arah arm disk jumlahnya sedikit atau tidak ada, maka mengapa permintaan yang banyak dan terdapat pada ujung yang berlawanan arah dengan gerakan disk arm saat itu tidak dilayani duluan? Ide ini akan mendasari algoritma penjadualan berikut yang akan kita bahas.
Penjadualan C-SCAN
Circular-SCAN adalah varian dari algoritma SCAN yang sengaja didesain untuk menyediakan waktu tunggu yang sama. Seperti halnya SCAN, C-SCAN akan menggerakkan head dari satu ujung disk ke ujung lainnya sambil melayani permintaan yang terdapat selama pergerakan tersebut. Tetapi pada saat head tiba pada salah satu ujung, maka head tidak berbalik arah dan melayani permintaan-permintaan, melainkan akan kembali ke ujung disk asal pergerakannya. Jika head mulai dari ujung 0, maka setelah tiba di ujung disk yang lainnya, maka head tidak akan berbalik arah menuju ujung 0, tetapi langsung bergerak ulang dari 0 ke ujung satunya lagi.
Penjadualan LOOK
Perhatikan bahwa SCAN dan C-SCAN menggerakkan disk arm melewati lebar seluruh disk. Pada kenyataanya algoritma ini tidak diimplementasikan demikian (pergerakan melewati lebar seluruh disk). Pada umumnya, arm disk bergerak paling jauh hanya pada permintaan terakhir pada masing-masin arah pergerakannya. Kemudian langsung berbalik arah tanpa harus menuju ujung disk. Versi SCAN dan C-SCAN yang berprilaku seperti ini disebut LOOK SCAN dan LOOK C-SCAN, karena algoritma ini melihat dulu permintaan-permintaan sebelum melanjutkan arah pergerakannya.

 nah gimana apakah sudah lumayan paham dengan konsep penjadwalan disk yang sudah saya jelaskan diatas, semoga paham ya :)

KONSEP PENJADWALAN PROSES Di SISTEM OPERASI

        Pada sistem multiprogramming, selalu akan terjadi beberapa proses berjalan dalam suatu waktu. Sedangkan pada uniprogramming hal ini tidak akan terjadi, karena hanya ada satu proses yang berjalan pada saat tertentu. Sistem multiprogramming diperlukan untuk memaksimalkan utilitas CPU. Pada saat proses dijalankan terjadi siklus eksekusi CPU dan menunggu I/O yang disebut dengan siklus CPU-I/O burst. Eksekusi proses dimulai dengan CPU burst dan dilanjutkan dengan I/O burst, diikuti CPU burst lain, kemudian I/O burst lain dan seterusnya seperti pada Gambar Pada saat suatu proses dieksekusi, terdapat banyak CPU burst yang pendek dan terdapat sedikit CPU burst yang panjang.Program yang I/O bound biasanya sangat pendek CPU burst nya, sedangkan program yang CPU bound kemungkinan CPU burstnya sangan lama. Hal ini dapat digambarkan dengan grafik yang eksponensial atau hiper eksponensial seperti pada Gambar 4-2. Oleh karena itu sangat penting pemilihanalgoritma penjadwalan CPU. 


          CPU Scheduler
Pada saat CPU menganggur, maka sistem operasi yang harus menyeleksi proses-proses yang ada di memori utama(rady queue),untuk di eksekusi dan mengalokasikan CPU untuk salah satu dari proses tersebut,Seleksi semacam ini di sebut dengan short term scheduler(CPU scheduler).
1.      Apabila proses berpindah dari keadaan ruuning ke waiting
2.      Apabila proses berpindah dari keadaan ruuning ke ready
3.      Apabila proses berpindah dari keadaan waiting ke ready
4.      Apabila proses berhenti
Apabila model penjadwalan yang dipilih menggunakan keadaan 1 dan 4, maka penjadwakan semacam ini disebut non-peemptive. Sebaliknya, apabila yang digunakan adalah keadaan 2 dan 3, maka disebut dengan preemptive.
Pada non-preemptive, jika suatu proses sedang menggunakan CPU, maka proses tersebut akan tetap membawa CPU sampai proses tersebut melepaskannya (berhenti atau dalam keadaan waiting). Preemptivescheduling memiliki kelemahan, yaitu biaya yang dibutuhkan sangat tinggi. Antara lain, harus selalu dilakukan perbaikan data. hal ini terjadi jika suatu proses ditinggalkan dan akan segera dikerjakan proses yang lain.

Dispatcher
Dispatcheradalah suatu modul yang akan memberikan kontrol pada CPU terhadap penyeleksian proses yang dilakukan selama short-term scheduling. Fungsi-fungsi yang terkandung di dalam-nya meliputi:
1. Switching context;
2. Switching ke user-mode;
3. Melompat ke lokasi tertentu pada user program untuk memulai program.
Waktu yang diperlukan oleh dispatcher untuk menghentikan suatu proses dan memulai untuk menjalankan proses yang lainnya disebut dispatch latency.

A.    KRITERIA PENJADWALAN
Algoritma penjadwalan CPU yang berbeda akan memiliki perbedaan properti,sehingg untuk memiliki algoritma ini harus di pertimbangkan duluh properti-properti algoritma tersebut.
1.     CPU utilization: Diharapkan agar CPU selalu dalam keadaan sibuk
2.     Throughput: Throughput adalah banyaknya proses yang selesai di kerjakan dalam satu satuan waktu
3.     Turnaround time: Banyaknya waktu yang di perlukan untuk mengeskusi proses,dari mulai menunggu untuk memerintah tempat di memori utama,menunggu di ready queue,eksekusi oleh CPU,dan mengerjakan I/O samapi semua proses-proses tersebut diselesaikan.
4.     Waiting time: Waktu yang di perlukan oleh suatu proses untuk menunggu di ready queue
5.     Response time: Waktu yang di butuhkan oleh suatu proses dari minta di layani hingga ada respont pertama yang menanggapi permintaan tersebut
6.     Fairness. Meyakinkan bahwa tiap-tiap proses akan mendapatkan pembagian waktu penggunaan CPU secara terbuka (fair).

B.    STRATEGI PENJADWALAN
Terdapat dua strategi penjadwalan, yaitu:
1.      Penjadwalan nonpreemptive (run – to – completion)
2.       Penjadwalan preemptive
Penjadwalan Nonpreemptive
Begitu proses diberi jatah waktu pemroses maka pemroses tidak dapat diambil alih oleh proses lain sampai proses itu selesai.

Penjadwalan Preemptive
Saat proses diberi jatah waktu pemroses maka pemroses dapat diambil alih proses lain sehingga proses disela sebelum selesai dan harus dilanjutkan menunggu jatah waktu pemroses tiba kembali pada proses itu.
Penjadwalan preemptive berguna pada sistem dimana proses-proses yang mendapat perhatian tanggapan pemroses secara cepat. Misalnya :
-          Pada sistem waktu nyata, kehilangan interupsi (yaitu interupsi tidak segera dilayani) dapat berakibat fatal.
-          Pada sistem interaktif/time-sharing, penjadwalan preemptive penting agar  dapat menjamin waktu tanggap yang memadai.
Penjadwalan preemptive bagus, tapi tidak tanpa ongkos. Perlaihan proses (yaitu proses beralih ke proses lain) memerlukan overhead (karena banyak tabel yang dikelola). Agar preemptive efektif, banyak proses harus berada di memori utama sehingga proses-proses tersebut dapat segera running begitu diperlukan. Menyimpan banyak proses tak running benar-benar di memori merupakan suatu overhead tersendiri.

C.    ALGORITMA PENJADWALAN
Jenis-jenis algoritma penjadwalan adalah sebagai berikut :
1.      Nonpreemptive, menggunakan konsep :
a.       FIFO (First In First Out) atau FCFS (First Come First Serve)
b.      SJF (Shortest Job First)
c.       HRN (Highest Ratio Next)
d.      MFQ (Multiple Feedback Queues)
2.      Preemptive, menggunakan konsep :
a.       RR (Round Robin)
b.      SRF (Shortest Remaining First)
c.       PS (Priority Schedulling)
d.      GS (Guaranteed Schedulling)
Klasifikasi lain selain berdasarkan dapat/tidaknya suatu proses diambil secara paksa adalah klasifikasi berdasarkan adanya prioritas di proses-proses, yaitu :
1.      Algoritma penjadwalan tanpa berprioritas.
2.      Algoritma penjadwalan berprioritas, terdiri dari :
a.       Berprioritas static
b.      Berprioritas dinamis

Formulir Kontak

Shipping & Returns

Email : wahyuumaya@gmail.com
Instagram : wahyuumaya
Telegram : wahyuumaya
Facebook : wahyuumaya
Whatsapp : Klik aja disini

Closet 2.0