Jumat, 30 April 2021

Parellel Computing

     Parallel computation atau komputasi parallel adalah penggunaan beberapa sumber daya komputasi secara bersamaan untuk memecahkan masalah komputasi. Masalah komputasi harus mampu dipecah menjadi beberapa bagian pekerjaan yang dapat diselesaikan secara bersamaan, dijalankan beberapa intruksi program kapan saja, dan dipecahkan dalam waktu yang lebih singkat dengan beberapa sumber daya komputasi dibandingkan dengan sumber daya komputasi.

     Ada beberapa alasan mengapa harus menggunakan parallel computing, Di alam banyak peristiwa kompleks dan saling terkait terjadi pada waktu yang sama, namun dalam urutan temporal. Dibandingkan dengan komputasi serial, komputasi parallel jauh lebih cocok untuk permodelan, simulasi, dan pemahaman fenomena dunia nyata yang kompleks. Dengan parallel computing juga dapat memecah masalah yang lebih besar atau lebih kompleks. Contohnya “Masalah Tantangan Besar” yang membutuhkan sumber daya komputasi petaflops dan petabyte atau mesin pencari / database web yang memproses jutaan transaksi setiap detik.

     Parallel computing dapat digunakan dalam berbagai bidang. Dalam bidang sains dan Teknik, komputasi parallel telah dianggap sebagai “komputasi kelas atas”, dan telah digunakan untuk memodelkan masalah yang sulit di banyak bidang sains dan Teknik. Dalam bidang industry dan komersial, komputasi parallel, aplikasi komersial memberikan pendorong yang sama atau lebih besar dalam pengembangan komputer yang lebih cepat. Aplikasi ini membutuhkan pemrosesan data dalam jumlah besar dengan cara canggih.

 

Konsep dan Terminologi

Arsitektur Von Neumann

     Arsitektur diberi nama setelah matematikawan Hungaria John Von Neumann yang menulis persyaratan umum untuk komputer elektronik di tahun 1945. Arsitektur tersebut dikenal juga sebagai “komputer program tersimpan”.

 

Taksonomi Klasik Flynn

    Taksonomi Flynn merupakan salah satu klasifikasi yang banyak digunakan sejak tahun 1966. Taksonomi Flynn membedakan arsitektur komputer multi-prosesor yang dapat diklasifikasikan sepanjang dua dimensi independent Arus Instruksi dan Aliran Data. Flynn medefinisikan 4 kemungkinan yaitu SISD (Single Instruction stream Single Data stream), SIMD (Single Intstruction stream Multiple Data Stream), MISD (Multiple Instruction stream Single Data stream), MIMD (Multiple Instruction stream Multiple Data stream).

Arsitektur Komputasi Parallel   

Arsitektur dalam komputasi parallel ada beberapa jenis yaitu : Shared Memory, Distributed Memory, Hybrid Distributed – Shared Memory. Shared memory memiliki karakteristik seperti beberapa prosesor dapat beroperasi secara independent tetapi berbagi sumber daya memori yang sama. Distributed memory memiliki karakteristik umum prosesor memiliki memory lokalnya sendiri. Alamat memori dalam satu prosesor tidak dipetakan ke prosesor lain, jadi tidak ada konsep ruang alamat global di semua prosesor. Hybrid Distributed – Shared Memory, komponen memori terdistribusi adalah jaringan dari beberapa mesin memori / GPU Bersama, yang hanya mengetahui memori sendiri – bukan memori komputer lain. Oleh karena itu, komunikasi jaringan diperlukan untuk memindahkan data dari satu mesin ke mesin lainnya.

Senin, 22 Maret 2021

Komputasi Modern


 Komputasi adalah segala tipe dari kalkulasi yang mempunyai model yang tedefinisi dengan baik yang dapat dimengerti dan terekspresi apa adanya, seperti algoritma.

Sedangkan komputasi modern adalah memasukkan kumpulan intruksi komputasi ke dalam memori, setelah itu dikomputasi secara otomatis. Contohnya adalah komputasi pada computer.

Konsep ini pertama kali digagasi oleh John Von Neumann (1903 – 1957). Yang terkait dengan komputasi modern:

1.      Akurasi : yang berhubungan dengan bit dan floating point

2.      Kecepatan : dalam satuan hertz (processor tunggal, pipeline, parallel processing)

3.      Problem volume besar : down sizing, parallel

4.      Modelling : NN, GA

5.      Kompleksitas : menggunakan big O

 

Sejarah  Singkat Komputasi Modern

Komputasi modern digunakan pertama kali pada tahun 1926 oleh seorang ilmuan yang bernama John Von Neumann yang berasal dari Hungaria. Pada tahun 1926 Von Neumann menuntut ilmu di Berlin serta Zurich dan mendapatkan gelar diploma pada bidang teknik kimia. Pada tahun yang sama, Von Neumann juga mendapat gelar doctor pada bidang matematika.

Karena ketertarikannya pada hidrodinamika dan kesulitan penyelesaian persamaan direfensial parsial nonlinear yang digunakan, Von Neumann kemudian beralih ke bidang komputasi. Sebagai konsultan pada pengembangan ENIAC, ia merancang konsep arsitektur komputer yang masih digunakan sampai sekarang. Arsitektur Von Neumann adalah komputer dengan program yang tersimpan (program yang data disimpan pada memori) dengan pengendali pusat, I/O, dan memori.

 

Karakteristik dari komputasi modern

1.      Komputer – komputer penyedia sumber daya bersifat heterogenous, terdiri atas berbagai jenis perangkat keras, sistem operasi, serta aplikasi yang terpasang.

2.      Komputer – komputer terhubung ke jaringan yang luas dengan kapasitas bandwidth yang beragam.

3.      Komputer atau jaringan tidak terdedikasi, bisa hidup atau mati sewaktu – waktu tanpa jadwal yang jelas.

 

Jenis – jenis komputasi modern

Komputasi modern dibagi menjadi 3 bagian, sebagai berikut :

1.      Mobile computing

Mobile computing atau komputasi bergerak memiliki beberapa penjelasan, salah satunya komputasi bergerak ialah kemajuan teknologi komputer sehingga dapat berkomunikasi melalui jaringan tanpa memakai kabel dan mudah dibawa ataupun berpindah tempat, namun berbeda dengan komputasi nirkabel. Contoh dari fitur komputasi bergerak seperti GPS, juga tipe dari komputasi bergerak seperti smart phone, serta lain sebagainya.

2.      Grid computing

Komputasi grid menggunakan komputer yang terpisah oleh geografis, didistibusikan dan terhubung oleh jaringan untuk menyelasaikan masalah komputasi skala besar. Ada beberapa daftar yang dapat dugunakan untuk mengenali sistem komputasi grid, adalah:

·         Sistem untuk koordinat sumber daya komputasi tidak dibawah kendali pusat.

·         Sistem menggunakan standard serta protocol yang terbuka.

·         Sistem mencoba mencapai kualitas pelayanan yang canggih, yang lebih baik diatas kualitas komponen individu pelayanan komputasi grid.

 

3.      Cloud computing

Komputasi cloud adalah gaya komputasi yang terukur dinamis serta sumber daya virtual yang sering menyediakan layanan melalui internet. Komputasi cloud menggambarkan pelengkap baru, konsumsi dan layanan IT berbasis model dalam internet, dan biasanya melibatkan ketentuan dari keterukuran dinamis dan sumber daya virtual yang sering menyediakan layanan melalui internet.

Adapun perbedaan antara komputasi mobile, komputasi grid dan komputasi cloud, dapat dilihat penjelasannya dibawah ini :

·         Komputasi mobile memakai teknologi komputer yang bekerja seperti handphone, sebaliknya komputasi grid serta cloud menggunakan komputer.

·         Biaya untuk tenaga komputasi mobile lebih mahal dibandingkan dengan komputasi grid dan cloud.

·         Komputasi mobile tidak memerlukan tempat serta mudah dibawa kemana-mana, sedangkan grid dan cloud membutuhkan tempat yang khusus.

·         Untuk komputasi mobile proses tergantung pada pengguna, komputasi grid proses tergantung pengguna mendapatkan server atau tidak, dan komputasi cloud prosesnya membutuhkan jaringan internet sebagai penghubungnya.

 

Komputasi modern dapat diimplementasikan untuk berbagai bidang, salah satu bidandnya adalah bidang matematika.

Implementasi komputasi modern di bidang matematika ada numerical analysis yaitu sebuah algoritma yang digunakan untuk menganalisa masalah matematika. Bidang analisis numerik telah dikembangkan berabad-abad sebelum penemuan komputer modern .Interpolasi linear sudah digunakan lebih dari 2000 tahun yang lalu. Kalkulator mekanik juga dikembangkan sebagai alat untuk perhitungan manual. Kalkulator ini berkembang menjadi komputer elektronik pada tahun 1940. Kemudian ditemukan bahwa komputer juga dapat digunakan untuk tujuan administratif. Tetapi penemuan komputer juga mempengaruhi bidang analisis numerik, karena memungkinkan dilakukannya perhitungan yang lebih lama dan kompleks. Selain itu juga terdapat istilah-istilah seperti Probabilitas, Algoritma, dan Kalkulus yang ternyata sangat dibutuhkan dalam perkembangan Ilmu Komputer.

1.      Probabilitas

Probabilitas suatu kejadian adalah angka yang menunjukkan kemungkinan terjadinya suatu kejadian. Nilainya di antara 0 dan 1. Kejadian yang mempunyai nilai probabilitas 1 adalah kejadian yang pasti terjadi, dan tentu tidak akan mengejutkan sama sekali.

2.      Algoritma

Penemu algoritma sendiri yang tercatat dalam sejarah awal adalah dari seorang yang bernama Abu Abdullah Muhammad Ibn Musa al Khwarizmi. Al Khwarizmi adalah seorang ahli matematika dari Uzbekistan yang hidup di tahun 770-840 masehi. Di literatur barat ia lebih terkenal dengan sebutan Algorizm. Kata algoritma sendiri berasal dari sebutannya ini. Algoritma adalah suatu prosedur yang cocok untuk memecahkan masalah dengan menggunakan bantuan komputer serta menggunakan suatu bahasa pemrogaman tertentu seperti bahasa Pascal, Visual Basic, Java, dan masih banyak lagi bahasa yang lain.

3.      Kalkulus

Kalkulus adalah cabang ilmu matematika yang meliputi limit, turunan, integral, dan deret tak terhingga. Kalkulus memiliki berbagai aplikasi dalam bidang sains dan teknik dan dapat digunakan untu memecahkan masalah yang kompleks yang tidak cukup dipecahkan oleh aljabar. Kalkulus digunakan di setiap cabang sains fisika, ilmu komputer, statistik, teknik, ekonomi, bisnis, kedokteran, dan di bidang-bidang lainnya. Dalam kalkulus, computer peneliti membaca data dalam bentuk biner dan menemukan bilangan biner pada saat yang bersamaan.

 

 

Sumber :

-          https://nanopdf.com/download/komputasi-modern_pdf

-          https://franswaysm.wordpress.com/2017/03/28/teori-komputasi-dan-komputasi-modern/

-          https://rezaafirmansyah.wordpress.com/2016/03/07/implementasi-komputasi-pada-bidang-matematika/

Jumat, 22 Mei 2020

Postest_VC8_3IA10_55417957_Tifani


RDBMS memiliki komponen yang digunakan untuk mengembalikan Basis Data ke kondisi yang benar (Consistent State) Jika Terjadi System Failure (Kegagalan Sistem)
  • Jelaskan apa saja penyebab kegagalan system dalam sebuah system yang memungkinkan mengganggu konsistensi data

  1. Physical disaster : bencana fisik yang natural, seperti kebakaran, air bah, gempa.
  2. Carelessness / human error : kekurangan telitian atau kerusakan pada data atau fasilitas yang tidak sengaja disebabkan oleh operator atau pengguna.
  3. Sabotase, kerusakan pada data, fasilitas perangkat lunak & keras yang disengaja.
  4. System Crash : akibat kesalahan perangkat keras atau lunak yang menyebabkan kehilangan memori utama.
  5. Media Failer (kegagalan pada media) : menyebabkan hilangnya sebagian dari memori sekunder.


  • Kegagalan system juga bisa mengakibatkan kerusakan pada system, jelaskan jenis kerusakan akibat kegagalan system dan bagaimana untuk mengatasinya

          Jenis kerusakan:
1.      Kerusakan system (system crash) adalah keadaan dimana sebuah computer atau program berhenti berfungsi. Program yang mengalami kesalahan akan hang sampai layanan crash menampilkan informasi yang detail dari crash tersebut.
Cara mengatasinya :
-      Analisa crash detail
-      Nonaktifkan program yang lemot
-      Rutin uninstall software yang jarang digunakan
-      Close proses profram software secara efektif.

2.      Kerusakan pada disk
Bad sector / disk macet pada saat operasi I/O
Cara mengatasinya :
-      Cabut hard disk yang terindikasi bermasalah dan sambungan pada computer yang normal
-      Jalankan fitur check disk pada windows untuk mencari penyebab hard disk yang mulai mengalami kerusakan.
-      Cadangkan seluruh data yang terdapat pada hard disk bila masih sempat.
-      Format ulang hard disk yang terindikasi mengalami masalah.
-      Cek ulang kinerja hard disk dengan menggunakan Acronis Drive Monitor.

3.      Kegagalan transaksi (transaksi error)
a.      Kesalahan logika (logical error)
Input salah, data not found, overflow, memori habis
b.      Kesalahan system (system error)
Deadlock
                                                 

  • RDMBS menyediakan beberapa fasilitas  recovery data antara lain mekanisme backup, fasilitas loging, chekpoint, dan manager recovery. Jelaskan konsep recovery yang dapat dipilih atau digunakan pada saat kegagalan transaksi

 Fasilitas logging yaitu merupakan fasilitas yang ada pada  sistem recovery untuk mencatat tranksaksi dan perubahan yang terjadi pada database, DBMS memberikan fasilitas untuk memelihara file khusus dan menyediakan informasi mengenai seluruh perubahan yang terjadi pada database.
Fungsi dari logging merupakan proses penyimpan dan mengatur log dari semua perubahan yang dibuat pada database untuk proses recovery yang sedang dijalankan agar efektif jika terjadi kesalahan. Tujuan utama dari mekanisme logging adalah sebagai berikut.
  1. Melakukan pencatatan semua aktivitas dan kejadian-kejadian yang ada, misalnya apabila kita masuk ke halaman web, maka kita melakukan proses login dan logout, kita melakukan proses hapus/tambah/edit pada record di database, melakukan proses submit pengisian form dari halaman yahoo atau fecebook misalnya.
  2. Untuk Melakukan proses debugging.
  3. Melakukan proses monitoring dari sisi keamanan pada setiap akses yang kita lakukan.


Pretest_VC8_3IA10_55417957_Tifani


  • Mengapa backup juga perlu diterapkan dalam basis data?

Backup dilakukan      untuk      melakukan  penyalinan  sistem,  data,  dan  aplikasi  yang nantinya        bisa        di- recovery untuk  mengembalikan data yang ada pada sebuah basis  data kembali  seperti  semua  sebelum adanya kerusakan pada data - data di sebuah sistem.

  • Bilamana Recovery data dilaksanaknan
  • Apa peranan DBA dalam proses Backup dan Recovery data


DBA (Administrasi basis data) memiliki fungsi teknis yang bertanggung jawab atas perancangan basis data fisik dan penanganan masalah teknis.

Selasa, 12 Mei 2020

Posttest_VC7

1.  Serializability adalah suatu aturan untuk menjadwalkan proses – proses transaksi yang dijalankan hampir bersamaan tetapi tetap menjaga konsisten data seolah – olah proses dan transaksi – transaksi tersebut dijalankan secara serial.
Ada 2 cara agar menjaga serializability:

1.     -  Lock Based Protokol
Adalah suatu cara yang digunakan untuk menjaga serializability pada data yang diakses lebih dari satu transaksi. Yaitu apabila satu transaksi mengakses sebuah item data maka tidak aka nada transaksi yang dapat memodifikasi data tersebut.
Ada dua jenis mode penguncian dasar yang digunakan dalam mekanisme ini yaitu:
Bersama (Shared). Jika sebuah transaksi Ti  dapat melakukan penguncian dengan mode ini (dilambangkan dengan S) terhadap item data Q, maka Ti  dapat membaca, tapi tidak dapat mengubah nilai Q tersebut.
Tunggal (Exclusive). Jika sebuah transaksi Ti  dapat melakukan penguncian dengan mode ini (dilambangkan dengan X) terhadap item data Q, maka Ti  dapat membaca maupun mengubah nilai tersebut.
Hal yang harus diperhatikan :
Setiap transaksi harus meminta lock apabila akan melakukan operasi/mengakses  terhadap suatu data. Misalkan data  Q, mode-lock yang diterapkan terhadap data Q harus sesuai dengan operasi yang akan dilakukan.
Transaksi meminta lock terhadap suatu data, kepada concurrency control manager.
Operasi terhadap Q dapat dilakukan transaksi T apabila concurrency control manager memberikan grant (hak istimewa) lock yang diminta.

2.       - Two Phase Lock Protokol
Protocol ini menginginkan bahwa setiap transaksi yang akan menjalankan penguncian dan melepaskan penguncian harus melalui dua fase atau tahapan, yaitu:
Fase Pertumbuhan (Growing Phase). Sebuah transaksi dapat melakukan sejumlah penguncian tetapi belum satupun melepaskan pengunciannya.
Fase Pelepasan (Shrinking Phase). Sebuah transaksi dapat melepaskan sejumlah penguncian , tetapi belum melakukan penguncian yang baru.
        Pada awalnya, sebuah transaksi akan berada dalam fase pertumbuhan. Transaksi tersebut akan melakukan penguncian sebanyak yang dibutuhkan. Ketika transaksi mulai melepaskan sebuah penguncian, ia akan mulai memasuki fase pelepasan, tanpa ada permintaan penguncian berikutnya.


2. Cara kerja matriks locking :
Kita asumsikan terdapat dua macam kunci :
-          Kunci X (kunci eksklusif) dan kunci S (kunci yang digunakan Bersama – sama)
-          Jika transaksi A menggunakan kunci X pada record R, maka permintaan dari transaksi B harus menunggu sampai nanti transaksi A melepas kunci.
-          Jika transaksi menggunakan kunci A pada record S pada record R, maka:
o   Bila transaksi B ingin menggunakan kunci X, maka B harus menunggu sampai A melepas kunci tersebut.
o   Bila transaksi B ingin menggunakan kunci S, maka B bisa menggunakan kunci S Bersama A.


Sumber


Pretest_VC7

Lost update problem atau masalah hilangnya data yang diupdate adalah sebuah transaksi yang melakukan update, namun pada waktu interfal yang bersamaan dengan proses update, dan proses tersebut tertimpa dengan transaksi yang lain.

Uncommited depedency problem / dirty real (Masalah kebergantungan terhadap transaksi yang belum commit) adalah sebuah transaksi yang dibiarkan untuk melihat hasil transaksi menengah dari transaksi lain sebelum melakukan commit.


Inconsistent anaisys problem (masalah analisa tidak konsisten) merupakan transaksii membaca beberapa nilai dari database, tetapi transaksi melakukan update terhadap sebagian dari beberapa nilai selama proses eksekusi yang pertama.

Kamis, 07 Mei 2020

Posttest_Vc6

a. Jelaskan outcome dari transaksi dan berikan contoh nya

1.       Dua outcome dari transaksi :
1.       Commit
Jika operasi berjalan sukses, maka transaksi tersebut commited, basis data mencapai kondisi konsisten yang baru.

2.       Jika transaksi gagal, maka transaksi tersebut aborted (gagal). Jika transaksi gagal maka basis data akan kembali ke keadaan sebelum transaksi dimulai.

b. Properti Transaksi yaitu ACID, jelaskan dan berikan contoh
1.       Dalam ilmu komputer , ACID (Atomicity, Consistency, Isolation, Durability) adalah seperangkat sifat yang menjamin bahwa database transaksi diproses andal. Dalam konteks database , operasi logis tunggal data disebut transaksi. Sebagai contoh, transfer dana dari satu rekening bank ke bank lain, bahkan melibatkan beberapa perubahan seperti mendebet satu account dan mengkredit lain, adalah satu transaksi.


Contoh, untuk proses transfer uang dari account A ke account B sebesar
Rp. 500 dengan Urutan aksi sebagai berikut :
1. read(A)
2. A:=A-500
3. write(A)
4. read(B)

Dimana jika ditinjau dari ACID properties maka :

-          Atomicity : Jika transaksi gagal setelah langkah 3 dan sebelum langkah 6, maka
sistem harus memastikan tidak ada aksi yang mempengaruhi basis
data, jika tidak maka akan menyebabkan ke tidak konsistenan data
pada basis data.
-          Consistency : Jumlah dari A dan B tidak berubah dengan dijalankannya proses
transaksi tersebut.
-          Isolation : Antara langkah 3-6, tidak boleh ada transaksi lain yang malakukan
peng-update-an pada sebagian data yang sedang diupdate pada database, atau jika ada maka akan menghasilkan ke tidak
konsistenan (A + B akan kurang atau lebih dari yang seharusnya)
-          Durability : Ketika user memberitahukan bahwa transaksi selesai, maka update
ke basis data oleh transaksi harus dilakukan meskipun ada
kegagalan.

Pretest_VC6

Apa yang anda pahami tentang konkurensi?


Konkurensi atau biasa disebut suatu fitur dimana DBMS mengijinkan banyak transaksi pada saat yang bersamaan untuk mengakses data yang sama. Untuk melakukan konkurensi, dibutuhkan Concurency Control Mechanism (CCM) agar transaksi yang dilakukan banyak user tidak saling menggangu dan tidak menghasilkan inconsistency data.

Mengapa perlu dilakukan pengontrolan  konkurensi ?
Tujuan dari konkurensi dalah untuk memastikan serializability  dari transaksi dalam lingkungan multiuser. Serializability adalah memastikan bahwa jadwal untuk eksekusi konkurensi dari transaksi menghasilkan hasil yang konsisten.

Selasa, 28 April 2020

Posttest_VC5_3IA10_55417957_Tifani

a. Apa kegunaan integritas basis data?

  • Mempermudah dalam proses menganalisa untuk pengambilan keputusan
  • Sharing data antar lingkungan kerja
  • Terhindar dari adanya duplikat data
b. Jelaskan jenis-jenis integritas basis data!

INTEGRITAS ENTITAS

Integritas entitas mendifinisikan sebuah baris sebagai sebuah entitas yang unik untuk suatu tabel. Dalam integritas entitas, tidak ada baris yang di duplikat didalam suatu tabel.
INEGRITAS DOMAIN
Domain adalah nilai-nilai yang dimungkinkan diasosiasikan dengan setiap atribut, Integritas domain merupakan validasi masukan dari sebuah kolom. Dengan integritas domain, tidak ada data yang melanggar jangkauan nilai di tiap kolom data.
Jenis domain yang harus dimiliki oleh setiap atribut :
1. Karakter bebas
2. Alphanumerik
3. Alphabet
4. Numerik

INTEGRITAS REFERENSIAL
Integritas referensial adalah dasar relasi antar tabel yaitu antara foregin key dengan promary key. Integritas referensial memastikan bahwa seluruh nilai dari foregin key cocok dengan nilai primary key yang dihubungkanya.
INTEGRITAS ENTERPRISE
Integritas enterprise mengizinkan kita untuk menentukan spesifik business rules sendiri yang tidak sama pada kategori integritas yang lainnya.

c. Buatlah contoh untuk Integritas Entitas!
Contoh :
create table Pembelian
(ID Pembelian smallint,
ID model smallint,
DeskripsiModel varchar (40),
Primary Key (IDPembelian));

d. Buatlah contoh untuk Integritas Domain!
Contoh :
Create table biografi
(idpenulis smallint unsigned not null,
tahunLahir year not null,
kotalahir varchar (40) not null default
‘Kosong’);
create domain nilai numerik(3,2)
constraint value-test check (value >=0.00)