Monday, October 16, 2023

Pengertian Sistem

1. Batch System



Batch system adalah metode yang digunakan komputer untuk menyelesaikan tugas data berulang dengan volume tinggi secara berkala. Tugas pemrosesan data tertentu, seperti pencadangan, pemfilteran, dan pengurutan dapat menjadi komputasi yang intensif dan tidak efisien untuk dijalankan pada transaksi data individual.
Batch system digunakan untuk memproses berbagai jenis data dan permintaan. Berikut adalah beberapa contoh aktivitas yang menerapkan Batch system
  1. Transaksi untuk perusahaan yang bergerak di bidang perbankan dan finansial. Proses transaksi yang dilakukan di luar jam kerja dengan cara manual tentu akan menguras tenaga, biaya lembur, dan sebagainya. Di era modern, perusahaan perbankan banyak menggunakan teknik batch processing untuk transaksi lebih baik dan cepat dalam sebuah infrastruktur komputasi awan atau cloud.
  2. Pelaporan biasanya digunakan oleh perusahaan yang bergerak di bidang manufaktur maupun ritel. Penggunaannya biasanya khusus dalam pembuatan pelaporan mengenai alur produksi yang setiap saat harus dijalankan secara teratur dalam sebuah perusahaan.
  3. Proses integrasi sistem data, seperti contoh daftar transaksi dalam kurun waktu tertentu yang akan dimasukkan ke dalam data Enterprises Resource Planning (ERP).
  4. Riset yang dilakukan oleh perusahaan, misalnya untuk melihat performa karyawan dan dikalkulasikan dengan aspek-aspek yang ada.
  5. Penggunaan untuk billing, biasanya digunakan oleh perusahaan yang bergerak di bidang telekomunikasi untuk memproses data panggilan dalam jumlah yang sangat besar
Referensi : https://aws.amazon.com/id/what-is/batch-processing/#:~:text=Pemrosesan%20batch%20adalah%20metode%20yang,dijalankan%20pada%20transaksi%20data%20individual.

2. Critical Section



Critical Section merujuk pada segmen kode di mana proses mengakses sumber daya bersama, seperti variabel umum dan berkas, dan melakukan operasi penulisan pada mereka.

Sebuah contoh dari critical section dalam pemrograman konkuren adalah ketika beberapa utas atau proses berusaha untuk mengakses dan mengubah nilai dari variabel bersama. Dalam critical section ini, perlu ada perlindungan untuk memastikan bahwa hanya satu utas atau proses yang dapat mengakses variabel bersama pada satu waktu. Berikut adalah contoh dalam bahasa pemrograman Python :

--------------------------------------------------------------------------------------------------
import threading

# Variabel bersama yang akan diakses oleh beberapa utas
shared_variable = 0

# Fungsi yang akan dijalankan oleh utas
def critical_section():
    global shared_variable
    for _ in range(1000000):
        # Bagian kritis, mengubah nilai variabel bersama
        shared_variable += 1

# Membuat dua utas yang akan menjalankan bagian kritis
thread1 = threading.Thread(target=critical_section)
thread2 = threading.Thread(target=critical_section)

# Memulai kedua utas
thread1.start()
thread2.start()

# Menunggu hingga kedua utas selesai
thread1.join()
thread2.join()

# Hasil akhir dari variabel bersama
print("Nilai variabel bersama setelah kedua utas selesai:", shared_variable)
--------------------------------------------------------------------------------------------------

Dalam contoh ini, shared_variable adalah variabel bersama, dan kedua utas menjalankan fungsi critical_section yang mengakses variabel ini. Bagian kritis terletak pada penambahan shared_variable. Untas atau proses harus dilindungi agar tidak mengganggu satu sama lain saat mengakses dan mengubah variabel bersama ini. Dengan demikian, hanya satu utas yang dapat memasuki bagian kritis pada satu waktu.

Referensi : https://hartantydwikurnia.wordpress.com/2018/11/05/critical-section-dan-contohnya/


3. Process Control Block



Setiap proses  yang ada di dalam sistem operasi memperoleh sebuah PCB atau Process Control Block, PCB ini di dalamnya berisi informasi seputar proses tersebut yakni berupa sebuah tanda pengenal atau ID Process yang nantinya akan digunakan sebagai nomor identitas, prioritas eksekusi, status proses, serta tentang informasi tentang lokasi dari proses di dalam sebuah memori.

Sementara itu, Process Control Block merupakan berbagai informasi lain yang diperlukan sistem operasi untuk mengontrol dan berkoordinasi dengan berbagai proses yang aktif.

Hampir seluruh sistem operasi modern seperti yang Anda gunakan sekarang sudah memilki Process Control Block. Akan tetapi, strukturnya masih berbeda-beda di setiap sistem operasi tersebut. Maka dari itu, PCB memiliki sifat unik karena antara sistem operasi yang satu dengan yang lainnya berbeda.

Adapun prioritas proses adalah sebuah besaran atau nilai yang memberikan informasi mengenai seberapa sering proses tersebut dijalankan prosesor. Proses yang mempunyai prioritas tinggi nanti dijalankan lebih sering serta dieksekusi terlebih dahulu jika dibandingkan dengan proses yang memiliki prioritas lebih rendah.

Setiap proses yang ada di dalam sistem operasi akan digambarkan oleh Process Control Block. Di dalam PCB terdapat banyak informasi yang saling berhubungan dengan proses yang lebih spesifik.

Process Control Block hanya bertugas untuk menyimpan informasi yang mana antara proses satu dengan proses lainnya akan bervariasi. Salah satu contoh struktur data yang mengontrol beberapa Process Control Block misalnya process table.

Di bawah ini merupakan elemen-elemen yang terdapat pada PCB Running:
  • Identifier: elemen ini digunakan untuk mengidentifikasi dan membedakan antara satu proses dengan proses yang lainnya
  • State: status dari proses  yang sedang dieksekusi, diblok, dan lain-lain
  • Priority: status dari proses  yang sedang dieksekusi, diblok, dan lain-lain priority
  • Program counter: alamat berikutnya akan dieksekusi
  • Memory pointers:  pointer yang nantinya akan menunjukkan alamat memori data dan kode yang saling berhubungan dengan blok dan memori yang dibagikan dengan proses yang lainnya (jika ada)
  • Context data: Data yang ada di dalam register prosesor pada saat proses akan diseksekusi
  • I/O status information: informasi yang berkaitan dengan permintaan mengenai I/O device yang masih belum terpenuhi (misalnya akses ke harddisk), apa saja daftar file yang digunakan oleh proses, dan lain sebagainya
  • Accounting information: informasi seputar total waktu proses yang sudah digunakan, batas waktu proses, nomor urutan, dan lain sebagainya

Process Control Block terbagi menjadi 3 bagian :
  • Process identification data: proses yang menyertakan identifier pada prosesnya
  • Process state data: potongan-potongan informasi yang isinya menjelaskan status proses yang ditangguhkan, memungkinkan sistem operasi melakukan restart serta masih bisa mengeksekusinya dengan benar
  • Process control data: digunakan sistem operasi yang akan mengelola proses itu sendiri
Berikut adalah contoh dari Process Control Block













Referensi : https://www.nesabamedia.com/process-control-block/


4. Distributed Processing



Distributed processing adalah berbagai sistem komputer yang melibatkan lebih dari satu komputer (atau terkadang prosesor) untuk menjalankan suatu aplikasi.Tidak hanya itu, suatu sistem yang melibatkan penggunaan komputer tunggal dengan beberapa CPU sekaligus untuk menjalankan program (sistem paralel), juga masuk dalam distributed processing ini.

Distributed processing merupakan suatu tugas komputasi yang sangat kompleks. Tugas tersebut dibagi ke beberapa jaringan mesin individu, yang kemudian menyelesaikan bagiannya masing-masing. Setelah bagian tugas selesai, akan langsung dikirimkan kembali untuk dikompilasi menjadi satu output yang utuh.

Salah satu contoh penggunaan distributed processing adalah pada transaksi online pada suatu perusahaan, misalnya saja tiket pesawat terbang. Aplikasi tersebut juga contoh dari aplikasi pengolahan data terdistribusi, dimana data pembayaran ada tersimpan di database bank, sementara data tiketnya tersimpan di database server maskapai yang menyediakan aplikasi tiket online tersebut. Jadi dapat dikatakan bila aplikasi yang digunakan menggunakan database yang terpisah tidak satu database saja, maka dapat dikatakan itu adalah aplikasi pengolahan data terdistribusi atau dikenal juga dengan distributed  data processing system.

Referensi : https://algorit.ma/blog/distributed-processing-2022/


5. Handheld



Handheld adalah perangkat portabel yang dapat dibawa dan dipegang di telapak tangan seseorang. Handheld dapat berupa perangkat komputasi atau elektronik yang kompak dan cukup portabel untuk dipegang dan digunakan dalam satu atau kedua tangan. Handheld mungkin mengandung komunikasi seluler, tetapi kategori ini juga dapat mencakup perangkat komputasi lainnya.

Salah satu contoh handheld adalah barang yang paling sering kita gunakan dalam kehidupan sehari-hari, yaitu Android.

Referensi : https://muhammadmiftahpratama.blogspot.com/p/pengertian-sistem-operasi-handheld.html


6. Thread



Thread adalah unit dasar dari pemanfaatan CPU. Sebuah thread dalam proses akan menjalankan satu tugas (job) pada satu waktu. pada proses tradisional, setiap proses hanya memilki satu thread, sehingga program hanya dapat menjalankan satu tugas dalam satu waktu. namun jika proses memilki beberapa thread, maka prosesnya dapat menjalakan kan beberapa tugas pada satu waktu dan hal ini disebut multithreading.

Contohnya  jika suatu program terdiri dari proses yang memilki satu thread dapat memperbolehkan  pengguna untuk pengetikan tulisan (word processing) dan pemeriksaan ejaan (spellchecker). Ketika pengguna sedang sedang mengetik tulisan pada program maka fitur pemeriksaan ejaan akan berjalan setelah pengguna selesai menulis. lalu pengguna dapat menulis kembali tulisan jika thread telah selesai menjalkankan komputasi algoritma pengejaannya. Lalu jiga program tersebut memliki proses dengan dua thread, maka fitur pengejaan dapat berjalan secara bersamaan ketika pengguna sedang menulis tulisan pada program. Dengan ini setiap tutgas tidak harus bergantian dalam menunggu tugas lainnya.

Referensi : https://socs.binus.ac.id/2020/12/13/thread-unit-pemanfaatan-cpu/









No comments:

Post a Comment