Life Cycle Software


Life Cycle Software

Penjelasan Tentang Model Life Cycle Software
Model Pada Life Cycle Software
Model siklus pada perangkat lunak sebenarnya sangatlah banyak, namun disini saya akan menjelaskan beberapa saja diantaranta model Waterfall, V-model, Simple Interaction Desaign Model, Star Lifecycle Model. Berikut penjelasan dari masing-masing model yang akan di jelaskan secara berurutan.

1. Model Waterfall
Model waterfall dulu dikenal dengan nama “Linear Sequential Model” merupakan model tertua dan paling handal dan sering dikenal sebagai “classic life cycle”. Model ini pertama kali diperkenalkan oleh Winston Royce sekitar tahun 1970 sehingga sering dianggap kuno, tetapi model tersebut merupakan model yang paling banyak dipakai didalam Software Engineering (SE).

Model ini mengusulkan sebuah pendekatan kepada pengembangan software yang sistematik dan sekuensial yang mulai dari tingkat kemajuan sistem pada seluruh analisis, desain, kode, pengujian dan pemeliharaan. Model ini melingkupi aktivitas-aktivitas sebagai berikut yaitu; rekayasa dan pemodelan sistem informasi, analisis kebutuhan, desain, koding, pengujian dan pemeliharaan.

Model pengembangan ini bersifat linear dari tahap awal pengembangan system yaitu tahap perencanaan sampai tahap akhir pengembangan system yaitu tahap pemeliharaan. Tahapan berikutnya tidak akan dilaksanakan sebelum tahapan sebelumnya selesai dilaksanakan dan tidak bisa kembali atau mengulang ke tahap sebelumnya.

berikut adalah gambar tahap-tahap pengembangan software menggunakan model waterfall :




Berikut ini adalah penjelasan dari masing-masing tahapan yang terdapat pada model waterfall :

System Engineering :
Permodelan ini diawali dengan mencari kebutuhan dari keseluruhan sistem yang akan diaplikasikan ke dalam bentuk software. Tahap ini sering disebut dengan Project Definition.
Analysis : 
Proses pencarian kebutuhan diintensifkan dan difokuskan pada software. Untuk mengetahui sifat dari program yang akan dibuat, maka para software engineer harus mengerti tentang domain informasi dari software, misalnya fungsi yang dibutuhkan, user interface, dsb.
Design : 
Proses ini digunakan untuk mengubah kebutuhan-kebutuhan diatas menjadi representasi ke dalam bentuk“blueprint” software sebelum coding dimulai. Desain harus dapat mengimplementasikan kebutuhan yang telah disebutkan pada tahap sebelumnya.
Coding : 
Untuk dapat dimengerti oleh mesin, maka design yang ada di komputer tadi harus diubah bentuknya menjadi ke dalam bahasa pemrograman melalui proses coding. Tahap ini merupakan implementasi dari tahap design yang secara teknis nantinya dikerjakan oleh programmer.
Testing : 
Sesuatu yang dibuat haruslah diujicobakan. Demikian juga dengan software. Semua fungsi-fungsi software harus diujicobakan, agar software bebas dari error, dan hasilnya harus benar-benar sesuai dengan kebutuhan. Begitu saoftware berjalan dengan sempurna dan sesuai dengan kebutuhan maka akan diimplementasikan.
Maintenance : 
Pemeliharaan suatu software diperlukan, termasuk di dalamnya adalah pengembangan, karena software yang dibuat tidak selamanya hanya seperti itu. Pengembangan diperlukan ketika adanya perubahan dari eksternal perusahaan seperti ketika ada pergantian sistem operasi, atau perangkat lainnya.Keuntungan model waterfall :
Merupakan model pengembangan paling handal dan paling lama digunakan.
Cocok untuk system software berskala besar.
Cocok untuk system software yang bersifat generic.
Pengerjaan project system akan terjadwal dengan baik dan mudah dikontrol.Kelemahan model waterfall :
Waktu pengembangan lama. hal ini dikarenakan input tahap berikutnya adalah output dari tahap sebelumnya.
Biaya mahal, hal ini juga dikarenakan waktu pengembangan yang lama.
Terkadang perangkat lunak yang dihasilkan tidak akan digunakan karena sudah tidak sesuai dengan requirement bisnis customer. hal ini juga dikarenakan waktu pengembangan yang lama. selain itu dikarenakan waterfall merupakan aliran yang linear, sehingga jika requirement berubah proses tidak dapat diulang lagi.
Karena tahap-tahapan pada waterfall tidak dapat berulang, maka model ini tidak cocok untuk pemodelan pengembangan sebuah proyek yang memiliki kompleksitas tinggi.
Meskipun waterfall memiliki banyak kelemahan yang dinilai cukup fatal, namun model ini merupakan dasar bagi model-model lain yang dikembangkan setelahnya.

2. V-Model

V-Model merupakan pengembangan dari model Waterfall. V-Model merupakan kepanjangan dari Validasi/ Verivikasi Model.V-model pertama kali diusulkan oleh Paul Rook pada tahun 1980 dan dikenal dengan nama V-Model tradisional. V-model mendemonstrasikan hubungan antara proses pembangunan sistem (development activities) dan proses pengujian system (testing activities). Berbeda dengan pemodelan lainnya, dalam pemodelan V-Model proses pengujian jauh lebih kompleks karena dibagi menjadi beberapa bagian yang lebih detail. Proses pengembangan sistem meliputi requirement analysis, requirements specification, design specification, dan program specification. Sedangkan dalam proses pengujian meliputi acceptance testing, system testing, integration testing, dan units testing. Diantara develompment activities dan testing activities terdapat proses penulisan kode. Alur tahapan pada V-Model dapat dilihat pada gambar dibawah ini :





Penjelasan dari berbagai tahapan V-Model sebagai berikut :

Requirement & Acceptance Testing.
Requirement Analysis adalah Tahap Requirement Analysis sama seperti yang terdapat dalam model waterfall. Keluaran dari tahap ini adalah dokumentasi kebutuhan pengguna. Acceptance Testing merupakan tahap yang akan mengkaji apakah dokumentasi yang dihasilkan tersebut dapat diterima oleh para pengguna atau tidak.
General Design Specification & Component Testing
Dalam tahap ini analis sistem mulai merancang sistem dengan mengacu pada dokumentasi kebutuhan pengguna yang sudah dibuat pada tahap sebelumnya. Keluaran dari tahap ini adalah spesifikasi software yang meliputi organisasi sistem secara umum, struktur data, dan yang lain. Selain itu tahap ini juga menghasilkan contoh tampilan window dan juga dokumentasi teknik yang lain seperti Entity Diagram dan Data Dictionary.
Detailed Design Specification & Unit testing. Dalam Tahapan ini, perancangan dipecah menjadi modul-modul yang lebih kecil. Setiap modul tersebut diberi penjelasan yang cukup untuk memudahkan programmer melakukan coding. Tahap ini menghasilkan spesifikasi program seperti: fungsi dan logika tiap modul, pesan kesalahan, proses input-output untuk tiap modul, dan lain-lain.
Source Code/Coding.
Ini merupakan tahap paling bawah pada V-Model sehingga merupakan tahapan yang terpenting. Tahapan ini berfungsi mengubah modul-modul desain yang telah dilakukan pada tahapan sebelumnya kedalam bentuk bahasa yang di mengerti oleh komputer (melakukan pengkodingan) hal ini dilakukan oleh pihak pengembang.

Keuntungan V-Model :

Sederhana dan mudah digunakan.
Pengujian aktivitas seperti perencanaan, pengujian perancangan terjadi sebelum coding sehingga menghemat banyak waktu. Maka memiliki keberhasilan yang lebih tinggi dari model waterfall.
Jika perubahan terjadi perubahan, maka proses requirement dapat diperbarui.
Bekerja dengan baik untuk proyek-proyek kecil di mana persyaratan mudah dipahami.
Meminimalisasikan kesalahan pada hasil akhir karena ada test pada setiap prosesnya Penyesuaian yang cepat pada projek yang baru Memudahkan dalam pembuatan dokumen projek Biaya yang murah dalam perawatan dan modifikasinya V-Model sangat fleksibel.
V-Model mendukung project tailoring dan penambahan dan pengurangan method dan tool secara dinamis. 
User dari V-Model berpartisipasi dalam change control board yang memproses semua change request terhadap V-Model.

Kelemahan V-Model :

Aktifitas V-Model hanya difokuskan pada projectnya saja, bukan pada keseluruhan organisasi. V-Model adalah proses model yang hanya dikerjakan sekali selama project saja, bukan keseluruhan organisasi.
Prosesnya hanya secara sementara. Ketika project selesai, jalannya proses model dihentikan. Tidak berlangsung untuk keseluruhan organisasi.
Metode yang ditawarkan terbatas. Sehingga kita tidak memiliki cara pandang dari metode yang lain. Kita tidak memiliki kesempatan untuk mempertimbangkan jika ada tools lain yang lebih baik.
Tidak ada tools untuk hardware di V-Model. Tool yang dimaksud adalah “ software yang mendukung pengembangan atau pemeliharaan / modifikasi dari system IT ”.
V-Model adalah model yang project oriented sehingga hanya bisa digunakan sekali dalam suatu proyek.
V-Model terlalu fleksibel dalam arti ada beberapa activity dalam V-Model yang digambarkan terlalu abstrak sehingga tidak bisa diketahui dengan jelas apa yang termasuk dalam activity tersebut dan apa yang tidak.

3. Simple Interaction Design Model
Simple interaction design model merupakan sebuah model pengembangan software yang sederhana. Karakteristik dari model Simple interaction design adalah proses interactive design secara ekplesit antara penggabungan dari keterlibatan pengguna, iterasi, kriteria usability tertentu. Berikut ini merupakan gambar tahapan dari model Simple interaction design :

Penjelasan dari berbagai tahapan yang terdapat pada model Simple interaction design :



Identify needs/Establish requirement : 
pada tahap ini, kita menerima masukkan dari satu titik, lalu di identifikasi apa saja kebutuhannya dan apakah sesuai dengan kebutuhannya. Sebelum menetapkan Establish requirement ada beberapa hal yang harus dipahami yaitu siapa penggunanya, dan apa tujuan yang mereka inginkan ketika menggunakan software yang akan rancang/dikembangkan ini.
Design/(Re) Design : 
pada tahap ini dilakukan desain dan alternatif desain software dari kebutuhan yang diperlukan dan sesuai dengan persyaratan yang ditetapkan (dapat dengan meilhat desain orang lain sebagai referensi yang berguna). sedangkan Redesign adalah melakukan desain ulang dikarenakan hasil sebelumnya tidak sesuai dengan kebutuhan atau tidak sesuai dengan hasil evaluasi akhir.
Build interactive versions : 
tahapan ini membuat sebuah prototype desain interaktif yang mana dapat memiliki fungsi terbatas. Sehingga penggembang dapat berkomunikasi dengan pengguna dengan mengujicobakannya. Jika terdapat design yang memiliki kesalahan/kekurangan/belum ada maka proses akan kembali ketahapan Redesign.
Evaluate : 
tahapan ini, tahapan dimana pengguna mengevaluasi terhadap software yang telah di buat. Jika terdapat kekeliruan dari segi design maka tahapan akan kembali kepada tahap Redesign. Jika kesalahan terjadi karena kesalahan identifikasi kebutuhan maka akan kembali ketahapan Identify needs/Establish requirements. Jika telah sesuai kebutuhan pengguna maka ini akan menjadi final project.
Jika dilihat dari tahapan diatas, maka dapat disimpulkan bahwa model Simple interaction design memiliki 3 (tiga) prinsip yaitu :
Melibatkan pengguna pada proses design dan evaluation.
Tentukan kriteria dari quantifiable & measurable usability.
Akan terjadinya iterasi yang tidak dapat di hindari.

4. Star Lifecycle Model (Hartson & Hix, 1989)
Model Star life cycle diusulkan oleh Harton dan Hix di akhir 1980-an, sebagai hasil pengamatan yang luas dari pengembang di lingkungan real-time (Helms 2001).
Model ini merupakan model yang bersifat elastis tidak seperti model waterfall yang bersifat sangat kaku. Model Star life cycle memiliki karakteristik yaitu melakukan pengujian secara terus-menerus, hal ini disebabkan karena semua tahapan selalu di lakukan evaluasi. Berikut ini gambaran dari tahapan model Star life cycle :



Dapat dilihat di setiap tahapan memiliki input dari luar (dari berbagai sumber) untuk dilakukan kegiatan sesuai dengan tahapan yang bersangkutan lalu dilakukan evaluasi. Berikut ini merupakan penjelasan dari setiap tahapan yang terdapat pada model Star life cycle :

Task analysis/Functional analysis : 
tahapan ini, akan melakukan functional analysis dari input yang di berikan yang kemudian akan dilakukan evaluation. 

Requrements/Specification : 
tahapan ini, akan mengumpulkan informasi terkait dengan kebutuhan dan segala sesuatu yang bersangkutan dengan software yang akan dikembangkan, lalu dilakukan tahapan evaluation.

Conceptual design/Formal design representation : 
tahapan ini akan mendesain sebuah desain konseptual dari software yang akan dikembangkan bersadarkan semua inputan yang masuk ketahapan ini. Kemudian dilakukan tahapan evaluation.

Prototyping : 
Sama halnya seperti tahapan pada Simple interaction design model. dimana prototype merupakan desain interaktif yang memiliki fungsi terbatas yang akan di ujicobakan kepada pengguna lalu melakukan tahap evaluation.

Implementation : 
tahapan ini merupakan tahapan dimana software diimplementasikan dan digunakan oleh pengguna lalu dilakukannya tahap evaluation.

Evaluation : 
tahapan ini adalah melakukan evaluasi terhadap setiap tahapan yang menggunakan tahapan ini untuk melihat apakah hal yang dilakukan pada tahapan sebelumnya telah sesuai dengan kebutuhan terbaru dari pengguna lalu memberikan feedback terhadap tahapan sebelumnya.

Sumber Referensi :



Read More →

User Centered Design (UCD)


UCD ( User Centered Design )

Standar Proses UCD untuk Sistem Interaktif
UCD ( User Centered Design )
UCD ( User Centered Design ) merupakan paradigma baru dalam pengembangan sistem berbasis web. Perancangan berbasis pengguna ( User Centered Design / UCD ) adalah istilah yang digunakan untuk menggambarkan filosofi perancangan. Konsep dari UCD adalah User sebagai pusat dari proses pengembangan sistem, tujuan, sifat-sifat, dan lingkungan sistem semua didasarkan dari pengalaman pengguna. 

Proses dari User Centered Design ( UCD ) terdapat lima proses yaitu seperti gambar dibawah :






1. Plan the human-centered design process
Pada tahap ini dilakukan diskusi terhadap orang-orang yang akan mengerjakan proyek, untuk mendapatkan komitmen bahwa proses pembangunan proyek adalah berpusat kepada pengguna atau user. Proyek akan memiliki waktu dan tugas untuk melibatkan pengguna atau user dalam awal dan akhir proses atau di mana mereka dibutuhkan. Dan juga orang-orang yang mengerjakan proyek harus mengetahui betul tentang metode User Centered Design (UCD) ini melalui studi literatur, pelatihan atau seminar. metode ini dilakukan dengan cara membaca dan memahami buku - buku referensi, jurnal, dan media lain yang berkaitan dengan pengolahan data secara umum yang mendukung dan mempertegas teori - teori yang ada, sehingga dapat menanamkan komitmen bahwa perancangan menggunakan User Centered Design (UCD) dapat memenuhi keinginan pengguna.

2. Understand and Specifying the Context of Use
Pada tahap ini, Proses UCD Mengidentifikasi orang yang akan menggunakan produk. Ini akan menjelaskan untuk apa dan dalam kondisi seperti apa mereka akan menggunakan produk. Dalam memahami dan menentukan konteks pengguna meliputi :
· Karakteristik pengguna yang diharapkan
· Pekerjaan yang dilakukan pengguna
· Pemecahan secara hirarki atas pekerjaan global
· Tujuan global penggunaan sistem untuk setiap kategori pengguna, termasuk karakteristik tugas yang mungkin mengganggu penggunaan dalam scenario khusus, seperti frekuensi dan lama kinerja.
· Deskripsi harus mencakup alokasi aktifitas dan langkah operasional antara manusia dan sumber daya teknologi.
· Pahami lingkungan tempat pengguna akan menggunakan system.
· Sangat penting awal langkah untuk menentukan kebutuhan sistem minimal dan optimal dengan memperhatikan.

3. Specify the user and organizational requirements
Mengidentifikasi kebutuhan pengguna dan kebutuhan organisasi. pada tahap ini adalah tahap penggalian informasi atau data untuk menggumpulkan kebutuhan dari pengguna, kemudian setelah informasi/data telah terkumpul, dilakukanlah penataan informasi dari data kebutuhan pengguna tersebut, lalu kebutuhan pengguna digambarkan ke dalam berbagai bentuk/teknik, seperti narasi, gambar, atau diagram, dll. Dalam hubungannya dengan konteks pengguna yaitu :
· Kualitas perancangan interaksi manusia dan komputer serta workstation.
· Kualitas dan isi tugas pengguna ( termasuk alokasi tugas diantara kategori pengguna yang berbeda ).
· Kinerja tugas yang efektif khususnya dalam hal transparansi aplikasi ke pengguna.
· Kerjasama dan komunikasi yang efektif diantara pengguna dan pihak ketiga yang relevan.
· Dibutuhkan kinerja sistem baru terhadap tujuan finansial.

4. Produce Design Solutions
Tahap ini merupakan tahap perancangan solusi. Dimana peneliti akan membangun desain sebagai solusi dari sistem yang sedang dianalisis dengan teknik prototyping yang digunakan untuk membuat ide-ide terlihat dan memfasilitasi komunikasi yang efisien dengan pengguna. Ini mencegah kemungkinan kebutuhan dan biaya tinggi yang terkait untuk pengerjaan ulang produk pada langkah berikutnya dari siklus hidup. Ketika solusi desain disajikan kepada pengguna, mereka juga harus diperbolehkan untuk melaksanakan tugas-tugas. Umpan balik pengguna yang dikumpulkan harus dimasukkan dalam perbaikan solusi desain. Ini harus iterasi terus sampai tujuan desain telah dipenuhi

5. Evaluate design against requirements
Tahap ini merupakan tahap evaluasi terhadap perancangan yang telah disesuaikan dengan kebutuhan pengguna. Evaluasi ini dilakukan untuk mengetahui sejauh mana perancangan yang dihasilkan sesuai dengan kebutuhan pengguna dengan teknik kuesioner. Tujuannya adalah untuk menghasilkan umpan balik untuk lebih meningkatkan produk dan untuk menentukan apakah desain memenuhi kebutuhan pengguna yang ditentukan, tujuan kegunaan dan sesuai dengan pedoman kegunaan umum. Siklus proses UCD terus berlangsung selama tujuan kegunaan belum dipenuhi.






Read More →

DMA CONTROLLER




Direct memory access (DMA) adalah metode yang memungkinkan perangkat input / output (I / O) untuk mengirim atau menerima data secara langsung ke atau dari memori utama, melewati CPU untuk mempercepat operasi memori. Proses ini dikelola oleh chip yang dikenal sebagai pengontrolDirectMemory Access Control (DMAC).
Selama transfer blok byte masukan, urutan berikut terjadi sebagai byte data dikirim dari I/O Interface ke memori:
  1. I/O Interface mengirimkan pengontrol DMA permintaan DMA layanan.
  2. Permintaan Bus dibuat untuk pin terus (Tinggi aktif) pada mikroprosesor 8086 dan controller kontrol keuntungan dari bus.
  3. Dana bantuan Bus dikembalikan ke DMA controller dari Hold mengakui (HLDA) pin (aktif tinggi) pada mikroprosesor 8086.
  4. Para DMA controller tempat isi alamat register ke bus alamat.
  5. Controller mengirimkan I/O Interface pengakuan DMA, yang memberi tau I/O Interface untuk menempatkan data pada bus data. (Untuk output itu sinyal
    antarmuka untuk memalangi data berikutnya yang ditempatkan di bus)
  6. Byte data ditransfer ke lokasi memori yang ditunjukkan oleh bus alamat.
  7. I/O Interface Mengkaitkan data.
  8. Permintaan Bus terjatuh, pin HOLD pergi rendah, dan controller melepaskan bus.
  9. Bantuan Bus dari mikroprosesor 8086 dijatuhkan dan pin HLDA pergi Rendah.

KEGUNAAN DMA :
      
DMA memiliki kegunaan sebagai  berikut :


Untuk membantu CPU fokus penuh untuk mengerjakan proses transfer data.Dengan DMA,   CPU cukup memulai prosesnya dan bisa melakukan kerja lain selama proses transfer itu   berlangsung dan tinggal menunggu informasi dari DMA controller jika proses transfer sudah   selesai.Membebaskan pemroses menunggui transfer data yang dilakukan perangkat I/O.
Saat pemroses ingin membaca atau menulis data, pemroses memerintahkan DMA controller dengan mengirim informasi berikut :
-  Perintah penulisan/pembacaan.
-  Alamat perangkat I/O.
-  Awal lokasi memori yang ditulis/dibaca.
-  Jumlah word (byte) yang ditulis/dibaca.

 Setelah mengirim informasi-informasi itu ke DMA controller, pemroses
 dapat melanjutkan kerja lain. Pemroses mendelegasikan operasi I/O ke DMA.
 DMA mentransfer seluruh data yang diminta ke/dari memori secara langsung
 tanpa melewati pemroses. Ketika transfer data selesai, DMA mengirim
 sinyal interupsi ke pemroses. Sehingga pemroses hanya dilibatkan pada
 awal dan akhir transfer data. Operasi transfer antara perangkat dan
 memori utama dilakukan sepenuhnya oleh DMA lepas dari pemroses dan hanya
 melakukan interupsi bila operasi telah selesai.

Supaya CPU dapat  melakukan pekerjaan atau instruksi yang berbeda ketika melakukan operasi baca tulis dari perangkat peripheral.

Tanpa adanya  DMA CPU akan terus sibuk melakukan operasi baca tulis (transfer data) dan tidak dapat melakukan atau menyelesaikan instruksi yang lain. Dengan adanya DMA, CPU cukup mempersiapkan DMA chip dengan cara memberikan beberapa informasi seperti jumlah data bit yang ditransfer, alamat dari device dan memory yang diperlukan dan arah dari aliran data tersebut, setelah itu DMA chip sendiri yang akan menyelesaikannya. DMA chip akan melakukan interupt, ketika pekerjaannya sudah selesai. Selama DMA chip melakukan tugasnya hingga munculnya interupt, CPU dapat menyelesaikan instruksi yang lainnya.

Dma digunakan intra-chip untuk transfer data dalam multi-core, terutama dalam sistem multiprocessor-on-chip, di mana elemen-nya adalah proses yang dilengkapi dengan memori lokal (sering disebut alas memori) dalam sebuah elemen pemrosesan multi-core processor dapat mentransfer data ke dan dari memori tanpa menempati prosesor waktu, mesin dan membuat data tumpang tindih.

DMA digunakan untuk mentransfer data antara lokal memori dan memori utama.

Komputer yang ada DMA channel dapat mentransfer data dari dan ke perangkat dengan CPU overhead jauh lebih sedikit daripada komputer tanpa saluran DMA .
Seperti yang telah disebutkan , DMA ialah sebuah prosesor khusus (special purpose processor) yang berguna untuk menghindari pembebanan CPU utama oleh program I/O (PIO). Untuk memulai sebuah transfer DMA, host akan menuliskan sebuah DMA command block yang berisi pointer yang menunjuk ke sumber transfer, pointer yang menunjuk ke tujuan transfer, dan jumlah byte yang ditransfer, ke memori. CPU kemudian menuliskan alamat command block ini ke pengendali DMA, sehingga pengendali DMA dapat kemudian mengoperasikan bus memori secara langsung dengan menempatkan alamatalamat pada bus tersebut untuk melakukan transfer tanpa bantuan CPU.
DMA digunakan intra-chip untuk transfer data dalam multi-core, terutama dalam sistem multiprocessor-on-chip, di mana elemen-nya adalah proses yang dilengkapi dengan memori lokal (sering disebut alas memori) dan DMA digunakan untuk mentransfer data antara lokal memori dan memori utama.
Komputer yang ada DMA channel dapat mentransfer data dari dan ke perangkat dengan CPU overhead jauh lebih sedikit daripada komputer tanpa saluran DMA . Demikian pula di dalam sebuah elemen pemrosesan multi-core processor dapat mentransfer data ke dan dari memori tanpa menempati prosesor waktu, mesin dan membuat data tumpang tindih.
Cara Kerja DMA :
  • CPU mengirimkan CPU data-data berikut ini ke DMA controller: 
         a)Perintah read/write
         b)Alamat device yang akan diakses
         c)Alamat awal blok memori yang akan dibaca atau ditulis.
         d)Jumlah blok yang akan ditransfer.
  • CPU klien mengeksekusi program lain.
  • DMA controller mengirimkan seluruh blok data (per satu word) langsung ke     memori tanpa melibatkan CPU)
  • DMA controler mengirimkan interupt ke CPU jika telah selesai.
  • DMA controler mengambil alih sistem bus sebanyak 1 siklus.
  • DMA men-transfer satu word data
  • Pengambil alihan bus oleh DMA bukan interrupt CPU tidak perlumenyimpan context 
  • CPU hanya tertunda sessaat satu siklus sebelum mengakses bus yaitu sebelum operan atau data diambil atau data ditulis diagram modul DMA
Konfigurasi Modul DMA  :
     
Ø  Konfigurasi I
Ø  Hanya menggunakan single bus
Ø  DMA dan modul I/O terpisah
Ø  Setiap transfer harus mengakses bus 2 kali
Ø  Konfigurasi II
Ø  Hanya menggunakan single bus
Ø  DMA controller dan modul I/O terintegrasi
Ø  satu DMA controller dapat mengangani lebih dari 1 modu I/O
Ø  Setiap transfer hanya perlu mengakses bus satu kali saja
Ø  Konfigurasi III
Ø  digunakan bus I/O secara terpisah
Ø  semua modul I/O cukup dilayani dengan sebuah DMA
Ø  Setiap transfer hanya perlu mengakses bus satu kali saja

Jalur Transfer DMA :

Ada 3 langkah dalam transfer DMA :
  1. Prosesor menyiapkan DMA prosesor Transfer dengan menyediakan data-data dari perangkat, operasi yang akan ditampilkan, alamat memori yang akan menjadi sumber, tujuan data, dan banyaknya byte yang akan ditransfer.
  2. Pengendali DMA memulai operasi dengan menyiapkan bus,menyediakan alamat, menulis, dan membaca data sampai seluruh blok sudah ditransfer.
  3. Pengendali DMA menginterupsi prosesor, dimana selanjutnya akan ditentukan tindakan berikutnya.
Pada dasarnya, DMA mempunyai 2 metode untuk transfer data :


  1. HALT atau Burst Mode DMA ialah DMA yang memegang kontroldari sistem bus dan          menstransfer semua blok data dari memori ke single burst atau sebaliknya,
  2. CYCLE STEALING DMA pada metode ini mengikutsertakan pengendali DMA untuk memegang kontrol dari sistem bus untuk jangka waktu yang lebih pendek pada periode dimana mikroprosesor sibuk dengan operasi internal dan tidak membutuhkan akses ke sistem bus.

Kelemahan DMA :

   Tanpa DMA, diprogram menggunakan input / Output (PIO) mode untuk berkomunikasi dengan perangkat pinggiran, atau menggunakan / menyimpan instruksi dalam kasus multicore chips,CPU biasanya penuh diduduki untuk seluruh durasi dari operasi membaca atau menulis, dan dengandemikian tidak tersedia untuk melakukan pekerjaan lain. Dengan DMA, CPU akan melakukan transfer, lakukan operasi lainnya sementara transfer yang sedang berlangsung, dan menerima mengganggu dari DMA controller setelah operasi telah selesai. Hal ini sangat berguna dalam real-time komputasi di mana aplikasi tidak stalling belakang yg berbarengan operasi adalah penting. Dan aplikasi lain yang berhubungan dengan berbagai daerah adalah bentuk streaming pemrosesan dimana perlu ada pengolahan data dan transfer paralel, untuk mencapai throughput memadai.

Kelebihan DMA :

      Kelebihan menggunakan mode DMA sangat terasa pada sistem operasi multitasking seperti Windows, Linux, UNIX, dan sebagainya. Karena transfer data akan menghemat resource processor sehingga processor dapat mengerjakan pekerjaan lain. Keuntungan lainnya adalah kecepatan transfer data dengan menggunakan mode DMA jauh lebih cepat bila dibandingkan dengan menggunakan mode PIO.

Hubungan DMA dengan Input dan Output :
           Hubungan antara CPU dengan main memory ataupun dengan alat-alat input atau output dilakukan dengan suatu jalur yang di sebut dengan bus. Hubungan antara CPU dengan main memory melalui jalur bus yang dilekatkan pada memory data register, memory address register dan control unit di CPU. Sedangkan bus yang menghubungkan CPU dengan alat-alat input/output tidak dilekatkan langsung ke alat-alat input/output tersebut, tapi dapat melalui suatu alat port atau DMA controller atau channel.


Sumber : https://www.techopedia.com/definition/2767/direct-memory-access-dma
https://taryainunhannif.blogspot.com/2014/02/normal-0-false-false-false-in-x-none-x_42.html

Read More →

Thread

Hasil gambar untuk pengertian thread

Pengertian Thread
Thread adalah unit dasar dari utilitas CPU. Di dalamnya terdapat ID thread, program counter, register, dan stack. Dan saling berbagi dengan thread lain dalam proses yang sama.
Keuntungan memakai Thread:

* Tanggap: Multi-threading mengizinkan program untuk terus berjalan walaupun pada bagian program tersebut diblock atau sedang dalam keadaan menjalankan operasi yang lama/panjang. Contohnya multithread web browser dapat mengizinkan pengguna berinteraksi dengan suatu thread ketika suatu gambar sedang diload oleh thread yang lain.
* Pembagian sumber daya: Secara default, thread membagi memori dan sumber daya dari proses. Keuntungan dari pembagian kode adalah aplikasi mempunyai perbedaan aktifitas thread dengan alokasi.
* Ekonomis: Mengalokasikan memori dan sumber daya untuk membuat proses itu sangat mahal. Alternatifnya thread membagi sumber daya dari proses, Jadi lebih ekonomis.
* Pemberdayaan arsitektur multiprosesor: Keuntungann dari multithreading dapat ditingkatkan dengan arsitektur multiprosesor, dimana setiap thread dapat berjalan secara parallel pada prosesor yang berbeda. Pada arsitektur prosesor tunggal, CPU biasanya berpindah-pindah antara setiap thread dengan cepat, sehingga terdapat ilusi paralelisme, tetapi pada kenyataannya hanya satu thread yang berjalan di setiap waktu.
Selain itu lo juga musti tau:
1. User thread adalah pengelolaan thread yang dilakukan oleh user level (pengguna)
2. Kernel thread adalah pengelolaan thread yang dilakukan oleh kernel komputer sehingga user tidak dapat menginterupsi.
Macem-macem Thread
Single threading : proses hanya mengeksekusi satu thread dalam satu waktu.
Multi-threading : proses dapat mengeksekusi sejumlah thread dalam satu waktu.
Model MultiTrading:
One to one: Memetakan setiap user thread ke dalam 1 kernel threa.



Kelebihan: Model one-to-one lebih sinkron daripada model many-to-one karena mengizinkan thread lain untuk berjalan ketika suatu thread membuat pemblokingan terhadap sistem pemanggilan, hal ini juga membuat multiple thread bisa berjalan secara parallel dalam multiprosesor .
Kekurangan: Dalam pembuatan user thread diperlukan pembuatan korespondensi thread pengguna. Karena dalam proses pembuatan kernel thread dapat mempengaruhi kinerja dari aplikasi, maka kebanyakan dari implementasi model ini membatasi jumlah thread yang didukung oleh sistem.
Model ini ada pada Windows NT dan OS/2.
One to Many: memetakan beberapa tingkatan thread user hanya ke satu buah kernel thread.

Kelebihan: Managemen proses thread dilakukan oleh (di ruang) pengguna, sehingga menjadi lebih efisien.
Kekurangan: multi thread tidak dapat berjalan atau bekerja secara paralel di dalam multiprosesor karena hanya satu thread saja yang bisa mengakses kernel dalam suatu waktu.
Model ini ada pada Solaris Green dan GNU Portable.
Many to Many : Membolehkan setiap tingkatan user thread dipetakan ke banyak kernel thread.

Kelebihan: 
Developer dapat membuat user thread sebanyak yang diperlukan dan kernel thread yang bersangkutan dapat berjalan secara parallel pada multiprocessor.
* Dan ketika suatu thread menjalankan blocking system call maka kernel dapat menjadwalkan thread lain untuk melakukan eksekusi.
Kekurangan:
* Developer dapat membuat user thread sebanyak mungkin, tetapi konkurensi tidak dapat diperoleh karena hanya satu thread yang dapat dijadwalkan oleh kernel pada suatu waktu.
Model ini ada pada Solaris, IRIX, dan Digital UNIX.



Read More →

Handheld

Hasil gambar untuk pengertian handheld



Pengertian Handheld
Handheld komputer  adalah komputer yang cukup kecil sehingga dapat digenggam. Komputer genggam ini dapat bekerja dengan fungsi yang hampir sama dengan komputer biasa. Meskipun sangat mudah untuk dibawa, komputer genggam tidak dapat menggantikan komputer biasa (PC) karena hanya memiliki keyboard dan layar yang kecil. Beberapa produsen mencoba untuk memecahkan masalah keyboard yang terlalu kecil. Keyboard tersebut diganti dengan electronic pen. Bagaimanapun, electronic pen ini masih bergantung pada teknologi pengenalan tulisan tangan yang masih dalam tahap pengembangan.

Kelebihan dari komputer genggam ini adalah pengguna dapat menyimpan serta mengatur data dengan lebih efisien dan akurat. Biasanya komputer genggam dilengkapi dengan teknologi Bluetooth. Bluetooth memang tepat untuk mencetak secara nirkabel, menghubungkan antara komputer genggam dengan mobile printer. Tidak hanya dengan printer tetapi komputer genggam juga dapat dihubungkan dengan alat-alat lain melalui koneksi Bluetooth.

Komputer genggam dapat meningkatkan produktivitas pengguna dan memudahkan mereka untuk bekerja lebih efisien. Komputer genggam yang paling banyak digunakan adalah komputer yang khusus dirancang untuk menyediakan fungsi PIM (Personal Information Manager), seperti kalender, agenda, dan buku alamat.



Sumber : https://id.wikipedia.org/wiki/Handheld_computer

Read More →

Distributed Processing

Distributed Data Processing System Beserta Contoh Implementasi

 
Distributed Data Processing System  yang dalam bahasa indonesianya Sistem pengolahan data terdistribusi. Merupakan Sekumpulan komputer yang saling berkoneksi untuk memenuhi kebutuhan pengolahan informasi dari satu entity perusahaan atau organisasi modern. Didukung oleh komputer dan komunikasi, sistem pengolahan data terdistribusi merupakan media pelayanan data.
Sistem pengolahan data terdistribusi dalam arti lain yaitu meletakan sumber daya komputer pada tempat dimana  user berada, dimana sumber daya tersebut secara  geografis terpisah dan saling interkoneksi secara on-line atau secara langsung.

Sumber Daya Pengolahan Data Dalam Sistem Terdistribusi

Apa yang dimaksud sumber daya pengolahan data dalam sistem terdistribusi? Adapun yang dimaksud dengan Sumber daya yang didistribusikan  yaitu berupa sumber daya Platform (Hardware dan Software System), Aplikasi atau Proses dan Data atau Database. Terminologi sistem pengolahan datanya dapat berbentuk distribusi horisontal (setiap node komputer atau jaringan mempunyai kedudukan yang sama dengan node lainnya).Sedangkan distribusi vertical dimana ada penjenjangan atau hirarki antar node di setiap lokasi, misalnya kantor pusat, kantor wilayah, kantor cabang dan unit lebih kecil lainnya yang terdistribusi hirachical secara komputasi.
Diperlukan jaringan komunikasi komputer pada sistem pengolahan data terdistribusi untuk dapat saling berhubungan antar site. Jaringan komputer adalah interkoneksi antara sejumlah komputer autonomousyang dapat saling bertukar informasi antara komputer yang  saling terhubung. Bentuk komputer yang saling terhubung biasanya disebut dengan Node, Host atau Site. Bentuk hubungan antar komputer tidak hanya melalui kawat tembaga saja, tetapi dapat melalui serat optic, gelombang mikro dan satelit komunikasi
Sistem pengolahan data terdidtribusi dibangun pada top of network, sedemikian rupa sehingga jaringan tidak nampak pada user.  User tidak perlu tahu kerumitan pengelolaan jaringan, semuanya sudah dilakukan secara otomatik oleh sistem.
Sistem pengolahan data terdistribusi dapat diakses oleh pengguna dengan menggunakan dua aplikasi yaitu berupa aplikasi lokal dan aplikasi global, sehingga distributed data processing system memiliki karakteristik yaitu :
  • Kumpulan dari data logik yang digunakan bersama-sama.
  • Data di bagi menjadi beberapa fragment.
  • Fragment mungkin mempunyai copy ( replika ).
  • Fragment / replika nya di alokasikan pada yang digunakan.
  • Setiap site berhubungan dengan jaringan komunikasi.
  • Data pada masing-masing site dibawah pengawasan DBMS.
  • DBMS pada masing-masing site dapat mengatasi aplikasi lokal, secara otonomi.
  • Masing-masing DBMS berpastisipasi paling tidak satu global aplikasi.

Alasan Sistem Pengolahan Data Terdistribusi Digunakan Dalam Berbagai Perusahaan, Organisasi Dan Perkantoran

Perkembangan organisasi yang pada umumnya mempunyai banyak cabang yang tersebar dalam berbagai lokasi. Dan Menginginkan untuk mengintregrasikan antar cabang-cabang tersebut sehingga pertukaran data dan informasi dapat dilakukan dengan cepat dan koordinasi antar cabang dapat ditingkatkan lebih baik lagi.
Distributed data processing system juga sangat berperan, ini dikarenakan terdapat kebutuhan dan tuntutan baik dari pihak perusahaan maupun dari sisi customer agar user dan customer dapat berinteraksi dengan mudah.

Pengaruh Distributed Data Processing System Pada Organisasi

  1. Meningkatkan kemampuan komputasi
  2. Meningkatkan kemampuan Data Storage
  3. Memungkinkan kerja lebih efisien
  4. Meningkatkan End-user, manajemen punya otoritas lebih

Masalah pada End-User

Banyak End-user merasa tidak puas terhadap pelayanan dari organisasi Sentralisasi Data Prosesing :
  • Harus membuat/mengisi aplikasi form.
  • Menunggu proses yang lama.
  • Tidak dapat mengakses ke komputer setiap saat dimana ia membutuhkan.

Persyaratan & Tujuan pendukung System Pengolahan Data Terdistribusi

  • Penggunaan komputer Mini & Mikro(dimana interkoneksi micro computer, mini computer dan large computer lebih efektif biayanya).
  • Pemakaian teknik Database. (dapat sharing data oleh banyak user).
  • Corporation wide work.
  • Struktur jaringan yang fleksibel.
  • Penggunaan standard line control & network architecture.

Contoh Sistem Pengolahan Data terdistribusi

  1. Internet
  •   Jaringan komputer dan aplikasi yang heterogen.
  •    Mengimplementasikan protokol internet.
  1. Intranet
  •  Jaringan yang teradminitrasi secara lokal.
  •  Terhubung ke internet melalui feriwall.
  •  Menyediakan layanan internet dan eksternal.
  1. Mobile Computing ( Sistem Komunikasi telepon seluler)
  •  Menggunakan frekuensi radio sebagai media transmisi
  •  Perangkat dapat bergerak kemanapun asal masih terjangkau dengan frekuensinya
  •  Dapat menghandle/dihububngkan dengan perangkat lain
  1. Sistem Telepon
  • ISDN atau yang biasa disebut jaringan telpon tetap (dengan kabel).
  • PSTN jaringan telepon/telekomunikasi yang semuanya digital.
  1. Network File System (NTFS)
  •  WWW
  1. Arsitektur client server yang diterpakan dalam infrastruktur internet

Contoh Impementasi Distributed Data Processing System

Aplikasi facebook.Com yang biasa anda gunakan untuk bersosialisai dengan saudara, kawan dan orang di seluruh dunia melalui internet. Bila kita lihat aplikasi tersebut, database tidak didistribusikan, tetapi proses sistem dan penggunaan fungsi-fungsi atau feature pada sistem terpisah-pisah prosesnya tidak satu proses saja dalam satu waktu. Pada waktu tertentu ada orang yang sedang isi status, dan mungkin di waktu yang sama ada sedang mencari teman, ada yang mengupload foto dan sebagainya.  Tampak disini beberapa proses pada sistem terdistribusi pada setiap client yang berbeda.
Pada penggunaan aplikasi pembayaran / 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.
 

Read More →

Process Control Block

Hasil gambar untuk process control block



Setiap proses dalam sebuah sistem operasi mendapatkan sebuah PCB (Process Control Block) yang memuat informasi tentang proses tersebut, yaitu: sebuah tanda pengenal proses (Process ID) yang unik dan menjadi nomor identitas, status proses, prioritas eksekusi proses dan informasi lokasi proses dalam memori. Prioritas proses merupakan suatu nilai atau besaran yang menunjukkan seberapa sering proses harus dijalankan oleh prosesor. Proses yang memiliki prioritas lebih tinggi, akan dijalankan lebih sering atau dieksekusi lebih dulu dibandingkan dengan proses yang berprioritas lebih rendah. Suatu sistem operasi dapat saja menentukan semua proses dengan prioritas yang sama, sehingga setiap proses memiliki kesempatan yang sama. Suatu sistem operasi dapat juga mengubah nilai prioritas proses tertentu, agar proses tersebut akan dapat memiliki kesempatan lebih besar pada eksekusi berikutnya (misalnya: pada proses yang sudah sangat terlalu lama menunggu eksekusi, sistem operasi menaikkan nilai prioritasnya).

Proses control block
Tiap proses digambarkan dalam sistem operasi oleh sebuah process control block PCB - juga disebut sebuah control block. PCB berisikan banyak bagian dari informasi yang berhubungan dengan sebuah proses yang spesifik, termasuk hal-hal dibawah ini:
1.Status proses: status mungkin, new, ready, running, waiting, halted, dan juga banyak lagi.

2.Program counter: suatu stack yang berisi alamat dari instruksi selanjutnya untuk dieksekusi untuk proses ini.
3.CPU register: Register bervariasi dalam jumlah dan jenis, tergantung pada rancangan komputer. Register  tersebut termasuk accumulator , indeks register, stack pointer , general-purposes register , ditambah code information pada kondisi apa pun. Besertaan dengan program counter, keadaaan/status informasi harus disimpan ketika gangguan terjadi, untuk memungkinkan proses tersebut berjalan/bekerja dengan benar setelahnya (lihat Gambar 2-3).
4.Informasi managemen memori: Informasi ini dapat termasuk suatu informasi sebagai nilai dari dasar dan batas register, tabel page/halaman, atau tabel segmen tergantung pada sistem memori yang digunakan oleh sistem operasi (lihat Bab Managemen memori).
5.Informasi pencatatan: Informasi ini termasuk jumlah dari CPU dan waktu riil yang digunakan, batas waktu, jumlah akun jumlah job atau proses, dan banyak lagi.
6.Informasi status I/O: Informasi termasuk daftar dari perangkat I/O yang di gunakan pada proses ini, suatu daftar berkas-berkas yang sedang diakses dan banyak lagi.
7.PCB hanya berfungsi sebagai tempat penyimpanan informasi yang dapat bervariasi dari proses yang satu dengan yang lain.
Gambar Proses Control Blok


Elemen-elemen dari Process Control Block (PCB) :
1.Identifier : menjelaskan proses yang sedang terjadi
2.State : kondisi yang terjadi pada proses
3.Priority : urutan perintah yang jelas pad suatu proses
4.Program counter : instruksi pada proses
5.Memory pointers : media penyimpanan (penunjuk alamat) pada proses
5.Context data : data yang berkaitan dengan proses
6.I/O status information : terdapat masukan dan keluaran yang diinginkan
7Accounting information : memberikan informasi yang dibutuhkan


Macam-Macam Jenis Status Proses
Jenis status yang mungkin dapat disematkan pada suatu proses pada setiap sistem operasi dapat berbeda-beda. Tetapi paling tidak ada 3 macam status yang umum, yaitu:
1.Ready adalah status dimana proses siap untuk dieksekusi pada giliran berikutnya
2.Running adalah status dimana saat ini proses sedang dieksekusi oleh prosesor
3.Blocked adalah status dimana proses tidak dapat dijalankan pada saat prosesor siap/bebas





Read More →

Critical Section

Gambar terkait



Pengertian Critical Section
Critical Section adalah bagian dari suatu proses yang akan melakukan akses dan manipulasi data.
Ketika sebuah proses sedang dijalankan dalam critical section nya, tidak ada proses lain yang boleh dijalankan dalam critical section tersebut, karena akan menyebabkan keadaan mutually exclusive.
Mutually exclusive yakni keadaan terjadinya akses resources yang sama di saat yang bersamaan. Mutually exclusive memerlukan kondisi tertentu agar dapat terpenuhi.
Critical section biasanya digunakan saat program multithreading, dimana program tersebut terdiri dari banyak thread, akan mengubah nilai dari variabel. Dalam hal ini critical sectiondiperlukan untuk melindungi variabel dari concurrent access (pengaksesan program di saat yang bersamaan) yang dapat membuat nilai dari variabel tersebut menjadi tidak konsisten.
Seperti yang telah kita ketahui bahwa proses dapat bekerja sendiri (independent process) dan juga dapat bekerja bersama proses-proses yang lain (cooperating process). Pada umumnya ketika proses saling bekerjasama (cooperating process) maka proses-proses tersebut akan saling berbagi data. Pada saat proses-proses berbagi data, ada kemungkinan bahwa data yang dibagi secara bersama itu akan menjadi tidak konsisten dikarenakan
adanya kemungkinan proses-proses tersebut melakukan akses secara bersamaan yang menyebabkan data tersebut berubah, hal ini dikenal dengan istilah Race Condition.
Oleh karena itu, dibutuhkan solusi yang tepat untuk menghindari munculnya Race Condition. Solusi tersebut harus memenuhi ketiga syarat berikut:
  1. Mutual Exclusion
  2. Progress
  3. Bounded Waiting
Ada dua jenis solusi untuk memecahkan masalah critical section, yaitu.
  1. Solusi Perangkat Lunak. Solusi ini menggunakan algoritma-algoritma untuk mengatasi masalah critical section.
  2. Solusi Perangkat Keras. Solusi ini tergantung pada beberapa instruksi mesin tertentu, misalnya dengan me-non-aktifkan interupsi, mengunci suatu variabel tertentu atau menggunakan instruksi level mesin seperti tes dan set.
Berikut ini algoritma-algoritma yang digunakan untuk mengatasi masalah critical section:

1. Algoritma I
Algoritma I memberikan giliran kepada setiap proses untuk memproses critical section-nya secara bergantian.
Asumsi yang digunakan disini setiap proses secara bergantian memasuki critical section-nya.
Statement while(turn != 4) akan memeriksa apakah pada saat itu proses 4 mendapatkan turn, jika tidak maka proses 4 akan busy waiting(lihat kembali bahwa printah while diakhiri dengan “;”). Jika ternyata pada saat itu merupakan giliran proses 4 maka proses 4 akan mengerjakan critical section-nya. Sampai sini jelas terlihat bahwa mutex terpenuhi! Proses yang tidak mendapatkan turn tidak akan dapat mengerjakan critical section-nya dan turn hanya akan diberikan pada satu proses saja.
Setelah proses 4 selesai mengerjakan critical section maka turn diberikan pada proses lainnya (turn= j, j merupakan proses selanjutnya yang dapat mengerjakan critical section). Setelah turn-nya diberikan kepada proses lain, proses 4 akan mengerjakan remainder section.   Disini jelas terlihat bahwa syarat bounded waiting jelas terpenuhi. Ingat asumsi yang digunakan dalam algoritma ini adalah setiap proses secar bergantian memasuki critical section-nya, jika pada saat itu proses 4 ternyata belum mau mengerjakan critical section-nya maka proses ke-j tidak akan mendapatkan kesempatan untuk mengerjakan critical section walau saat itu sebenarnya proses ke-j akan memasuki critical section. Artinya syarat progress tidak terpenuhi pada algoritma ini.

2. Algoritma II
Masalah yang terjadi pada algoritma 1 ialah ketika di entry section terdapat sebuah proses yang ingin masuk ke critical section, sementara di critical section sendiri tidak ada proses yang sedang berjalan, tetapi proses yang ada di entry section tadi tidak bisa masuk ke critical section. Hal ini terjadi karena giliran untuk memasuki critical section adalah giliran proses yg lain sementara proses tersebut masih berada di remainder section. Untuk mengatasi masalah ini maka dapat diatasi dengan merubah variabel trun pada algoritma pertama dengan array
Boolean flag [2];
Elemen array diinisialisasi false. Jika flag[i] true, nilai tersebut menandakan bahwa Pi ready untuk memasuki critical section. Pada algoritma ini. hal pertama yang dilakukan ialah mengeset proses Pi dengan nilai True, ini menandakan bahwa Pi ready untuk masuk ke critical section. kemudian, Pi memeriksa apakah Pj
tidak ready untuk memasukui critical section. Jika Pj ready, maka Pi menunggu sampai Pj keluar dari critical section (flag[j] bernilai false). Ketika keluar dari critcal section, Pi harus merubah nilai flag[i] menjadi false agar prores lain dapat memasuki critical section.

Contoh:
Pada algoritma ini, kriteria Mutual-exclusion terpenuhi, tetapi  tidak memenuhi kriteria
progress. Ilustrasinya seperti di bawah ini.
T0 : Po set flag [0] = true
T1 : Po set flag [1] = true
Dari ilustrasi diatas terlihat bahwa algoritma ini memungkinkan terjadinya nilai true untuk kedua proses, akibatnya tidak ada proses yang akan berhasil memasuki critical section.
Jadi untuk algoritma 2 masih terdapat kelemahan, seperti yang terjadi di atas.

3. Algoritma  III
Idenya berasal dari algoritma 1 dan 2. Algoritma 3 mengatasi kelemahan pada algoritma 1 dan 2 sehingga progres yang diperlukan untuk mengatasi critical section terpenuhi.
Algoritma III ditemukan oleh G.L. Petterson pada tahun 1981 dan dikenal juga sebagai Algoritma Petterson. Petterson menemukan cara yang sederhana untuk mengatur proses agar memenuhi mutual exclusion. Algoritma ini adalah solusi untuk memecahkan masalah critical section pada dua proses. Ide dari algoritma ini adalah menggabungkan variabel yang di- sharing pada Algoritma I dan Algoritma II, yaitu variabel turn dan variabel flag. Sama seperti pada Algoritma I dan II, variabel turn menunjukkan giliran proses mana yang diperbolehkan memasuki critical section dan variabel flag menunjukkan apakah suatu proses membutuhkan akses ke critical section atau tidak.
Awalnya flag untuk kedua proses diinisialisai bernilai false, yang artinya kedua proses tersebut tidak membutuhkan akses ke critical section. Kemudian jika suatu proses ingin memasuki critical section, ia akan mengubah flag-nya menjadi true (memberikan tanda bahwa ia butuh critical section) lalu proses tersebut memberikan turn kepada lawannya. Jika lawannya tidak menginginkan critical section (flag-nya false), maka proses tersebut dapat menggunakan critical section, dan setelah selesai menggunakan critical section ia akan mengubah flag-nya menjadi false. Tetapi apabila proses lawannya juga menginginkan critical section maka proses lawan-lah yang dapat memasuki critical section, dan proses tersebut harus menunggu sampai proses lawan menyelesaikan critical section dan mengubah flag-nya menjadi false.
Misalkan ketika P0 membutuhkan critical section, maka P0 akan mengubah flag[0] = true, lalu P0 mengubah turn1. Jika P1 mempunyai flag[1] = false, (berapapun nilai turn) maka P0 yang dapat mengakses critical section. Namun apabila P1 juga membutuhkan critical section, karena flag[1] = true dan turn= 1, maka P1 yang dapat memasuki critical section dan P0 harus menunggu sampai P1 menyelesaikan critical section dan mengubah flag[1] = false, setelah itu barulah P0 dapat mengakses critical section.
Bagaimana bila kedua proses membutuhkan critical section secara bersamaan? Proses mana yang dapat mengakses critical section terlebih dahulu? Apabila kedua proses (P0 dan P1) datang bersamaan, kedua proses akan menset masing-masing flag menjadi true (flag[0] = truedan flag[1] = true), dalam kondisi ini P0 dapat mengubah turn = 1 dan P1 juga dapat mengubah turn = 0. Proses yang dapat mengakses critical section terlebih dahulu adalah proses yang terlebih dahulu mengubah turn menjadi turn lawannya. Misalkan P0 terlebih dahulu mengubah turn= 1, lalu P1 akan mengubah turn= 0, karena turn yang terakhir adalah 0 maka P0-lah yang dapat mengakses critical section terlebih dahulu dan P1 harus menunggu.
Algoritma III memenuhi ketiga syarat yang dibutuhkan. Syarat progress dan bounded waitingyang tidak dipenuhi pada Algoritma I dan II dapat dipenuhi oleh algoritma ini karena ketika ada proses yang ingin mengakses critical section dan tidak ada yang menggunakan critical sectionmaka dapat dipastikan ada proses yang bisa menggunakan critical section, dan proses tidak perlu menunggu selamanya untuk dapat masuk ke critical section.

4. Algoritma Tukang Roti
Algoritma ini didasarkan pada algoritma penjadwalan yang biasanya digunakan oleh tukang roti, dimana urutan pelayanan ditentukan dalam situasi yang sangat sibuk. Algoritma ini dapat digunakan untuk memecahkan masalah critical section untuk n buah proses, yang diilustrasikan dengan n buah pelanggan. Ketika memasuki toko, setiap pelanggan menerima
sebuah nomor. Sayangnya, algoritma tukang roti ini tidak dapat menjamin bahwa dua proses (dua pelanggan) tidak akan menerima nomor yang sama. Dalam kasus di mana dua proses menerima nomor yang sama, maka proses dengan nomor ID terkecil yang akan dilayani dahulu. Jadi, jika Pi dan Pj menerima nomor yang sama dan i < j, maka Pi dilayani dahulu. Karena setiap nama proses adalah unik dan berurut, maka algoritma ini dapat digunakan untuk memecahkan masalah critical section untuk n buah proses.
Struktur data umum algoritma ini adalah
boolean choosing[n];
int number [n];
Awalnya, struktur data ini diinisialisasi masing-masing ke false dan 0, dan menggunakan notasi berikut:
– (a, b) < (c, d) jika a < c atau jika a= c dan b < d
– max(a0, …, an-1) adalah sebuah bilangan k, sedemikian sehingga k >= ai untuk setiap i= 0, …, n – 1
Dengan demikian, diketahui bahwa  Algoritma I dan II terbukti tidak dapat memecahkan masalah critical section untuk dua proses karena tidak memenuhi syarat progress dan bounded waiting. Algoritma yang dapat menyelesaikan masalah critical section pada dua proses adalah Algoritma III. Sedangkan untuk masalah critical section pada n-buah proses dapat diselesaikan dengan menggunakan Algoritma Tukang Roti.
Penjadwalan CPU
Penjadwalan CPU adalah suatu proses pengaturan atau penjadwalan proses-proses yang ada di dalam komputer. Dimana proses-proses tersebut berjalan dalam pola yang disebut Siklus Burst.
Penjadwalan sangat penting dalam menentukan performance sebuah komputer karena mengatur alokasi resource dari CPU untuk menjalankan proses-proses di dalam komputer. Penjadwalan CPU merupakan suatu konsep dasar dari multiprograming, karena dengan adanya penjadwalan dari CPU itu sendiri maka proses-proses tersebut akan mendapatkan alokasi resource dari CPU.
Penjadwalan CPU mungkin akan dijalankan ketika proses dalam keadaan:
  1. Berubah dari running ke waiting state.
  2. Berubah dari running ke ready state.
  3. Berubah dari waiting ke ready state.
  4. Dihentikan.
Penjadwalan nomor 1 dan 4 bersifat Non Preemptive sedangkan lainnya Preemptive.
Penjadwalan yang biasa digunakan sistem operasi dewasa ini biasanya bersifat Preemptive. Bahkan beberapa penjadwalan sistem operasi, contohnya Linux 2.6, mempunyai kemampuan Preemptive terhadap system call-nya ( preemptible kernel).
Penjadwalan CPU secara garis besar dibagi menjadi 2, yaitu Penjadwalan Preemptive dan Penjadwalan Non Preemptive.

1. Penjadwalan Pre-emptive
Penjadwalan Preemptive mempunyai arti kemampuan sistem operasi untuk memberhentikan sementara proses yang sedang berjalan untuk memberi ruang kepada proses yang prioritasnya lebih tinggi. Penjadwalan ini bisa saja termasuk penjadwalan proses atau I/O.
Dengan kata lain, penjadwalan Preemptive melibatkan mekanisme interupsi yang menyela proses yang sedang berjalan dan memaksa sistem untuk menentukan proses mana yang akan dieksekusi selanjutnya.
Penjadwalan Preemptive memungkinkan sistem untuk lebih bisa menjamin bahwa setiap proses mendapat sebuah slice waktu operasi. Dan juga membuat sistem lebih cepat merespon terhadap event dari luar (contohnya seperti ada data yang masuk) yang membutuhkan reaksi cepat dari satu atau beberapa proses.
Lama waktu suatu proses diizinkan untuk dieksekusi dalam penjadwalan Preemptive disebut time slice/quantum.
Penjadwalan berjalan setiap satu satuan time slice untuk memilih proses mana yang akan berjalan selanjutnya. Bila time slice terlalu pendek maka penjadwal akan memakan terlalu banyak waktu proses, tetapi bila time slice terlau lama maka memungkinkan proses untuk tidak dapat merespon terhadap event dari luar secepat yang diharapkan.
Dalam waktu-waktu tertentu, proses dapat dikelompokkan ke dalam dua kategori: proses yang memiliki Burst I/O yang sangat lama disebut I/O Bound, dan proses yang memiliki Burst CPU yang sangat lama disebut CPU Bound. Terkadang juga suatu sistem mengalami kondisi yang disebut busywait, yaitu saat dimana sistem menunggu request input(seperti diskkeyboard, atau jaringan). Saat busywait tersebut, proses tidak melakukan sesuatu yang produktif, tetapi tetap memakan resource dari CPU. Dengan penjadwalan Preemptive, hal tersebut dapat dihindari.
Keuntungan penggunaan penjadwalan pre-emptive:

a. sistem lebih responsif daripada sistem yang memakai penjadwalan Non Preemptive.
b. Sistem terhindar dari keadaan busywait.
contoh sistem operasi yang menerapkan penjadwalan Preemptive:
Windows 95, Windows XP, Linux, Unix, AmigaOS, MacOS X, dan Windows NT.

2. Penjadwalan Non Pre-emptive
Penjadwalan Non Preemptive ialah salah satu jenis penjadwalan dimana sistem operasi tidak pernah melakukan context switch dari proses yang sedang berjalan ke proses yang lain. Dengan kata lain, proses yang sedang berjalan tidak bisa di- interupt.
Penjadwalan Non Preemptive terjadi ketika proses hanya:

1. Berjalan dari running state sampai waiting state.
2. Dihentikan.
Ini berarti CPU menjaga proses sampai proses itu pindah ke waiting state ataupun dihentikan (proses tidak diganggu). Metode ini digunakan oleh Microsoft Windows 3.1 dan Macintosh. Ini adalah metode yang dapat digunakan untuk platforms hardware tertentu, karena tidak memerlukan perangkat keras khusus (misalnya timer yang digunakan untuk meng interupt pada metode penjadwalan Preemptive).
Dispatcher
Komponen yang lain yang terlibat dalam penjadwalan CPU adalah dispatcher.
Dispatcher adalah modul yang memberikan kontrol CPU kepada proses yang sedang terjadwal. Fungsinya:
  1. Context switching
Mengganti state dari suatu proses dan mengembalikannya untuk menghindari monopoli CPU timeContext switching dilakukan untuk menangani suatu interrupt(misalnya menunggu waktu I/O). Untuk menyimpan state dari proses-proses yang terjadwal sebuah Process Control Blockharus dibuat untuk mengingat proses-proses yang sedang diatur scheduler. Selain state suatu proses, PCB juga menyimpan process IDprogram counter(posisi saat ini pada program), prioritas proses dan data-data tambahan lainnya.
  1. Switching to user mode dari kernel mode.
  2. Lompat dari suatu bagian di progam user untuk mengulang program.


Read More →

Batch System

Hasil gambar untuk batch system

Pengertian Batch System
Batch system adalah dimana job-job yang mirip dikumpulkan dan dijalankan secara kelompok kemudian setelah kelompok yang dijalankan tadi selesai maka secara otomatis kelompok lain dijalankan. jadi dengan kata lain adalah teknologi proses komputer dari generasi ke-2. yang jika suatu tugas sedang dikerjakan pada 1 rangkaian, akan di eksekusi secara berurutan. Pada komputer generasi ke-2 sistem komputer nya maasih blum dilengkapi oleh sebuah sistem operasi. But, dalan beberapa fungsi sistem operasi, seperti os yang tengah berkembang pada jaman sekarang ini. Contohnya adlah FMS ( Fortarn Monitoring System ) dan IBSYS.

System Bach
           Pada tahun 1950-an yaitu saat munculnya komputer generasi pertama,muncul konsep ini yaitu dengan menggunakan job-job dalam satu angkatan,konsep ini merupakan cikal bakal dari sistem operasi selanjutnya,tujuan dari konsep ini adalah untuk meningkatkan utilitas CPU dalam menangani job-job yang ada. Batch sistem terdapat dua cara:
  1. Resident Monitor
  2. Overlap Operasi Antara I/O dengan CPU
  Sistem Batch Pertama
        Dengan mengeluarkan biaya yg tinggi,manusia bisa mengatasi waktu dalam melakukan komputasi solusi yg di lakukan adalah dengan mengadopsi sistem batch. Ide dasarnya adalah dengan mengumpulkan semua job yg akan di kerjakan dan memasukannya ke dalam magnetik tape.

Multiprogramming System
        Beberapa job yg siap di eksekusi,dikumpulkan dalam sebuah pool. Sistem operasi mengambil job-job tersebut dan meletakan di memori dalam bentuk antrian.

Time Sharing Sitem
      Sering juga di sebut dengan”Multitasking”,teknik sama dengan “Multiprogramming system”,hanya saja waktu bagi proses untuk menggunakan CPU di batasi,waktu mksimum penggunaan CPU oleh proses ini disebut dengan “Quantum”.

Multiproccessing System
     Multiproccessing merupkan ssuatu system yg lebih dari satu CPU(prosessor) pekerjaan sebuah job di lakukan dengan dua cara:
  1. Pararel System
  2. Distributed System

Real Tyme System
        Real tyme system di gunakan jika satu operasi melakukan kecepatan waktu dari prosesor atau aturan data dan sering di gunakan sebagai pengontrol terhadap aplikasi-aplikasi tersebut terdapat dua bentuk real time sistem yaitu:
  1. Hard real time,menjamin critical task selesai tepat waktu
  2. Soft real time,memberikan prioritas pada critical task di banding dengan task lainnya sampai critical task tersebut selesai di kerjakan




Read More →

Android

Sejarah Sistem Operasi Android

Sistem operasi android saat ini menjadi sistem operasi yang banyak digunakan oleh perangkat smartphone, mulai dari smartphone murah sampai smartphone premium. Bagaimana sejarah sistem operasi Android dan perjalanannya hingga menjadi raksasa sistem operasi yang paling banyak digunakan saat ini.

android - Sejarah Sistem Operasi Android

Sebenarnya apa yang membuat sistem operasi android ini menjadi salah satu yang banyak digunakan dan bagaimana perjalanan android dari awal sampai sekarang? Dalam artikel ini akan membahas sejarah sistem operasi android dari pertama berdiri dan dirilis ke publik.

Sejarah Sistem Operasi Android

Android adalah sistem operasi berbasis linux yang dirancang untuk perangakat layar sentuh seperti smartphone dan pc tablet.
Android sendiri awalnya dikembangkan oleh Android, lnc., yang semua dananya ditanggung oleh Google. Tujuan pengembangan android awalnya sebenarnya untuk kamera digital, namun dikarenakan pasar untuk perangkat tersebut tidak terlalu besar maka pengembangan android dialihkan untuk smartphone.
Cara itu dilakukan untuk menyaingi sistem operasi Symbian dan Windows Mobile yang saat itu sedang naik daun. Dengan hadirnya Android, diharapkan pasar sistem operasi smartphone akan lebih variatif.
Kemudian pada tanggal 17 Agustus 2005, Android lnc. resmi diakuisisi oleh Google dan menjadikannya anak perusahaan yang sepenuhnya dimiliki oleh Google.
Pada tahun 2007 sistem operasi android dirilis secara resmi oleh Google bersamaan dengan didirikannya Open Handset Alliance ( OHA ). OHA didirikan dengan tujuan untuk mengembangkan standar terbuka bagi perangkat seluler.

Ponsel Dengan Sistem Android Pertama

Pada tanggal 22 Oktober 2008 Android merilis smartphone pertamanya dengan sistem operasi android yang diberi nama HTC Dream. HTC Dream ini diproduksi oleh produsen smartphone HTC yang bekerja sama dengan Google.
Pada tahun 2010, Google merilis smartphone android seri Nexus yang merupakan smartphone dengan sistem android yang diproduksi oleh mitra produsen seluler seperti HTC, LG dan samsung. HTC memproduksi smartphone Nexus pertama yang disebut Nexus One. Kemudian LG dan samsung masing-masing memproduksi samrtphone Nexus 4 dan tablet pc Nexus 10.
Sejak dirilisnya sistem operasi android, mereka terus melakukan pembaruan-pembaruan terkait dengan kinerja sistem operasi untuk menjadikannya lebih baik lagi. Seperti menambahkan fitur-fitur baru dan memperbaiki bug yang terdapat pada versi sebelumnya.

Versi Sistem Operasi Android

Setiap versi android yang dirilis selalu dinamakan berdasarkan alfabetis nama-nama makanan manis bergula. Misalnya :
VERSINAMA KODETANGGAL RILIS
 1.5 Android Cupcake 30 April 2009
 1.6 Android Donut 15 September 2009
 2.0 – 2.1 Android Eclair 26 Oktober 2009
 2.2 Android Froyo 20 Mei 2010
 2.3.3 – 2.3.7 Android Gingerbread 9 Februari 2010
 2.3 – 2.3.2 Android Gingerbread 6 Desember 2010
 3.1 Android Honeycomb 10 Mei 2011
 3.2 Android Honeycomb 15 Juli 2011
 4.0.3 – 4.0.4 Android Ice Cream Sandwich 16 Desember 2011
 4.1.x Android Jelly Bean 9 Juli 2012
 4.2.x Android Jelly Bean 13 November 2012
 4.3.x Android Jelly Bean 24 Juli 2013
 4.4.x Android KitKat 31 Oktober 2013
 5.x Android Lollipop 15 Oktober 2014
 6.0 Android Marshmallow 19 Agustus 2015
 7.0 Android Nougat 22 Agustus 2016
 8.0 Android Oreo 21 Agustus 2017

1. Cupcake ( Versi 1.5 )


android cupcake 1 - Sejarah Sistem Operasi AndroidAndroid Cupcake merupakan versi android pertama yang di komersialkan oleh Google. kalau dilihat dari namanya, versi Android mulai dari Cupcake memang mengambil dari nama makanan.
Pada versi ini termasuk pembaruan dari versi 1.1 yang mengalami cukup banyak perbedaan, antara lain adanya menu unggah ke Youtube, aplikasi Headset Nirkabel, tampilan Keyboard pada layar, tampilan gambar bergerak yang atraktif, serta widget yang bisa diperbesar dan diperkecil.

2. Donut ( Versi 1.6 )

android Donut - Sejarah Sistem Operasi Android
Sistem operasi Android Donut merupakan pembaruan dari Cupcake yang dirilis hanya beberapa bulan dari versi sebelumnya.
Pada versi ini pihak Google telah memberikan beberapa pembaruan seperti fitur pencarian yang lebih nyaman, sudah mendukung jaringan EVDO/CDMA, indikator baterai bisa ditampilkan pada layar.
Selain itu pembaruan yang lain berupa zoom in dan zoom out layar menggunakan sentuhan, menentukan file-file yang ingin dihapus, dan tampilan gambar yang bisa digunakan.

3. Eclair ( Versi 2.0 – 2.1 )

android Eclair - Sejarah Sistem Operasi Android
Seperti pada versi-versi sebelumnya bahwa peluncuran Android versi baru merupakan adanya pembaruan maupun penambahan fitur-fitur yang lebih baik. Seperti halnya pada versi Eclair ini, banyak terjadi perubahan dan menjadi titik awal kemajuan Android.
Karena masa-masa peluncuran versi Eclair, banyak perusahaan ponsel yang mulai melirik sistem Android.
Pembaruan yang terjadi pada Eclair antara lain,pengoptimalan Google Maps, perubahan pada Browser, adanya daftar contact, penambahan flash untuk kamera 3.2 MP, adanya bluetoth 2.1, kamera digital zoom.

4. Froyo ( Versi 2.2 )

android Froyo - Sejarah Sistem Operasi Android
Android Froyo diluncurkan ketika Android sudah mulai laris di pasar, versi ini pertama kali di aplikasikan pada ponsel Google Nexus One.
Apa saja perubahannya dari versi sebelumnya?
Android Froyo terjadi penambahan fitur antara lain, pembenahan terhadap aplikasi dan tampilannya, penambahan kapasitas penyimpanan, penambahan Adobe Flash player. Pada pembaruan Android pada masa itu diperkirakan akan bersaing ketat dengan iOS yang saat itu berjaya.

5. Gingerbread ( Versi 2.3 )

android Gingerbread - Sejarah Sistem Operasi Android
Pada pembaruan Android Gingerbread terjadi perubahan yang signifikan, pasalnya Google telah menambahkan fitur dual camera untuk Video Call, serta sudah ditambahkan layanan games mobile.
Google sendiri terus meningkatkan kemampuan dan kualitas dari Gingerbread khususnya terhadap kualitas permainan dan aplikasi yang lebih mumpuni. Os Android Gingerbread termasuk yang paling banyak digunakan jika dibandingkan dengan versi sebelumnya.

6. Honeycomb ( Versi 3.1 – 3.2 )

Android Honeycomb - Sejarah Sistem Operasi Android
Pembaruan selanjutnya adalah Android Honeycomb, yang sejatinya di desain khusus untuk perangkat Tablet. Perangkat yang pertama kali menggunakan OS versi ini adalah Motorola Xoom.
Keunggulan dari versi ini adalah peningkatan terhadap kemampuan hardware yang semakin berkualitas, sehingga untuk pengguna Tablet akan lebih nyaman.

7. Ice Cream ( versi 4.0 )

android ice cream sandwich - Sejarah Sistem Operasi Android
Versi Android Ice Cream Sandwich dirilis pada tahun yang sama dengan versi sebelumnya dengan pembaruan-pembaruan yang lebih baik lagi.
Seperti fitur untuk memaksimalkan fotografi, fitur grafis yang lebih atraktif, peningkatan resolusi gambar, kualitas video, sistem pengenal wajah, dan lainnya.
Tentunya pembaruan ini semakin banyak diminati konsumen berkat penambahan fitur-fitur terbaru yang lebih baik.

8. Jelly Bean ( Versi 4.1 – 4.3 )

android jellybean - Sejarah Sistem Operasi Android
Versi Jelly Bean termasuk OS yang sangat digandrungi pada masa itu. Perusahaan ponsel yang pertama kali menggunakan OS ini adalah Asus, yang berasal dari Taiwan.
Pembaruan ini berupa peningkatan terhadap kemampuan on screen keyboard yang lebih cepat dan responsif, serta adanya beberap penambahan fitur lainnya yang lebih menarik dari versi sebelumnya.

9. KitKat ( Versi 4.4 )

android kitkat - Sejarah Sistem Operasi Android
KitKat merupakan versi Android yang memiliki keunggulan dari sisi resolusi yang dinilai mampu meningkatkan kualitas permainan pada game 3D.
Perangkat yang pertama kali menggunakan versi ini adalah Google Nexus 5.

10. Lollipop ( Versi 5.0 )

android lolipop - Sejarah Sistem Operasi Android
Versi Lollipop dinilai sebagai pembaruan yang difokuskan pada desain tampilan dan performa, agar lebih nyaman digunakan. Terutama kemampuan untuk game dengan kualitas tinggi dan aplikasi-aplikasi yang memerlukan resolusi tinggi.

11. Marshmallow ( Versi 6.0 )

android marshmallow - Sejarah Sistem Operasi Android
Android Marshmallow ternyata menjadi pembaruan OS yang paling banyak menjadi sorotan publik, pasalnya pada versi ini terdapat penambahan fitur berupa Native Finger Scanner Support dan Individual app permission.
Native Finger Scanner Support adalah fitur yang digunakan untuk keamanan sidik jari pada ponsel yang sudah mengadopsi fitur ini.
App Permission adalah sebuah fitur yang akan memberikan akses khusus pada user untuk menentukan apakah aplikasi yang akan digunakan diberikan izin oleh penggunanya. Sehingga versi Marshmallow dinilai sebagai pembaruan terhadap peningkatan keamanan pengguna.

12. Nougat ( Versi 7.0 )

android nougat - Sejarah Sistem Operasi Android
Untuk versi Nougat terdapat banyak perubahan terutama pada performa yang lebih baik berkat adanya fitur JIT (just In Time) untuk meningkatkan performa perangkat runtime dan mengurangi kapasitas penyimapan yang diperlukan aplikasi.
Android Nougat juga memiliki Mode VR, seperti yang kita ketahui VR adalah salah satu device tambahan yang digunakan untuk menonton film yang dapat mengantarkan kita ke dunia baru, namun mode VR ini mendukung untuk smartphone yang memiliki fitur Daydream.
Android juga menambahkan API Vulkan pada sistem Operasi terbarunya ini yang membuat tampilan grafls 3D pada smartphone kita semakin baik dan tampak hidup dengan grafis yang Iebih tajam.

13. Oreo ( Versi 8.0 )

android oreo - Sejarah Sistem Operasi Android
Versi Oreo merupakan versi Android ke delapan yang kaya akan fitur-fitur terbaru yang modern dan canggih.
Pada versi ini menjadikan perangkat anda berjalan lebih cepat, lebih halus, dan lebih menghemat daya baterai dari sebelumnya. Keamanan ditingkatkan berkat adanya Google Play Protect, layanan yang secara berkala memeriksa risiko keamanan perangkat dan aplikasi anda serta akan memberitahukan anda jika ada risiko ditemukan.

14. P…?

Setelah Oreo pasti Google akan memberikan nama pada versi Android selanjutnya dengan inisial P, apakah kira-kira nama tersebut?.
Semoga Bermanfaat..

Read More →

 

Copyright © WELCOME TO MY BLOG | Powered by Blogger | Template by 54BLOGGER | Fixed by Free Blogger Templates