Rabu, 19 Desember 2018

SIKLUS HIDUP SOFTWARE

SIKLUS HIDUP SOFTWARE




                                                    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.

Karakteristik
Dalam model ini terdapat beberapa sifat-sifat yang menojol dan cenderung menjadi permasalahan pada model waterfall.

a)      Ketika problem muncul, maka proses berhenti karena tidak dapat menuju ke tahapan        selanjutnya. Apabila terdapat kemungkinan problemtersebut muncul akibat kesalahan dari tahapan sebelumnya, maka proses harus membenahi tahapan sebelumnya agar problem ini tidak muncul.
b)    Karena pendekatannya secara sequential, maka setiap tahap harus menunggu hasil dari tahap sebelumnya. Hal itu tentu membuang waktu yang cukup lama, artinya bagian lain tidak dapat mengerjakan hal lain selain hanya menunggu hasil dari tahap sebelumnya.

berikut adalah gambar tahap-tahap pengembangan software menggunakan 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.



V-MODEL


       Merupakan model pengembangan perangkat lunak yang didasarkan pada hubungan antara setiap fase pengembangan siklus hidup yang tercantum dalam model Watterfall yang merupakan pengembangan perangkat lunak dan fase yang terkait pengujian. Bisa dikatakan model ini merupakan perluasan dari model waterfall. Disebut sebagai perluasan karena tahap-tahapnya mirip dengan yang terdapat dalam model waterfall. Jika dalam model waterfall proses dijalankan secara linear, maka dalam model V proses dilakukan bercabang.



Berikut penjelasan masing-masing tahap beserta tahap pengujiannya:
a)      Requirement Analysis & Acceptance Testing
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.
b)      System Design & System Testin
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.
c)      Architecture Design & Integration Testing
Sering juga disebut High Level Design. Dasar dari pemilihan arsitektur yang akan digunakan berdasar kepada beberapa hal seperti: pemakaian kembali tiap modul, ketergantungan tabel dalam basis data, hubungan antar interface, detail teknologi yang dipakai.
d)     Module Design & Unit Testing
Sering juga disebut sebagai Low Level Design. 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.
e)      Coding
Dalam tahap ini dilakukan pemrograman terhadap setiap modul yang sudah dibentuk.

 Keuntungan V Model 

Bahasa yang digunakan untuk merepresentasikan konsep V model menggunakan bahasa formal. Contoh : dengan menggunakan objek model ataupun frame-frame • Meminimalisasikan kesalahan pada hasil akhir karena ada test pada setiap prosesnya
a)      Penyesuaian yang cepat pada projek yang baru
b)      Memudahkan dalam pembuatan dokumen projek
c)      Biaya yang murah dalam perawatan dan modifikasinya
d)   V Model sangat fleksibel. V Model mendukung project tailoring dan penambahan dan pengurangan method dan tool secara dinamik. Akibatnya sangat mudah untuk melakukan tailoring pada V Model agar sesuai dengan suatu proyek tertentu dan sangat mudah untuk menambahkan method dan tool baru atau menghilangkan method dan tool yang dianggap sudah obsolete.
e)   V Model dikembangkan dan di-maintain oleh publik. User dari V Model berpartisipasi dalam change control board yang memproses semua change request terhadap V Model.
            Kerugian V Model
a)  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.
b)  Prosesnya hanya secara sementara. Ketika project selesai, jalannya proses model dihentikan. Tidak berlangsung untuk keseluruhan organisasi.
c)   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.
d) Toolnya tidak selengkap yang dibicarakan. SDE (Software Development Environment).Tidak ada tools untuk hardware di V-Model. Tool yang dimaksud adalah “software yang mendukung pengembangan atau pemeliharaan / modifikasi dari system IT.
e)    V Model adalah model yang project oriented sehingga hanya bisa digunakan sekali dalam suatu proyek.
f)  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.



                                           Simple Interaction Design Model



Simple Interaction Design Model Lifecycle Software adalah model yang menggabungkan tiga prinsip pengguna berpusat desain dan empat kegiatan desain interaksi.

 Prinsip User-Centered Design 
Prinsip-prinsip ini dikembangkan oleh John D. Gould dan Clayton Lewis. prinsipnya adalah sebagai berikut:
a)      Fokus pada pengguna dan tugas
b)      Pengukuran empiris
c)      Desain Interatif

 Dasar kegiatan Desain Interaksi 
Preece et al. menggambarkan model dasar untuk proses desain interaksi yang mencakup empat kegiatan seperti yang ditunjukkan di bawah ini. Sejumlah akademisi dan lembaga desain terkenal telah menciptakan model yang sama. Zimmerman, J., Forlizzi, J., dan Evenson, S., dari Sekolah Desain di Carnegie Mellon University.
Kegiatannya adalah sebagai berikut:
a)      Mengidentifikasi kebutuhan dan persyaratan mendirikan untuk pengalaman pengguna
b)      Mengembangkan alternatif desain yang memenuhi persyaratan
c)      Membangun versi interaktif dari desain
d)     Mengevaluasi apa yang sedang dibangun di seluruh proses dan pengalaman pengguna yang menawarkan


Star Life Cycle Model (Hartson & Hix, 1989)




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:
  1. http://ufauzia.mhs.uksw.edu/2015/02/waterfall-model.html
    http://www.umsl.edu/~hugheyd/is6840/waterfall.html
  2. https://rifkanisa19.wordpress.com/2014/08/23/macam-macam-model-pengembangan-software/http://rusliyuli25.blogspot.co.id/2013/01/model-siklus-hidup-dan-proses.html  
  3. http://theresianihan.blogspot.co.id/ 
  4. http://tomibejo.blogspot.co.id/2014/12/siklus-hidup-software.htm
  5. http://ilhamfaizin123.blogspot.com/2017/11/siklus-hidup-software_17.html
  6. http://kumonoraifu.blogspot.com/2015/11/model-siklus-hidup-software.html
  7. http://tomibejo.blogspot.com/2014/12/siklus-hidup-software.html

Kamis, 13 Desember 2018

Standar Proses UCD untuk Sistem Interaktif

Standar Proses UCD untuk Sistem Interaktif



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. Tahap ini terdiri dari :

§ Dengan menggunakan pengetahuan yang ada untuk mengembangkan suatu proposal solusi perancangan.
§    Membuat solusi perancangan lebih konkrit ( dengan simulasi, prototipe, dll )
§    Memperlihatkan prototipe ke pengguna dan mengamatinya saat melakukan tugas spesifik, dengan atau tanpa bantuan evaluatur.
§    Menggunakan umpan balik untuk perbaikan rancangan,
§    Mengulang proses ini sampai tujuan perancangan 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. Tahap ini terdiri dari : 

§   Formative: menyediakan umpan balik yang dapat digunakan untuk memperbaiki rancangan.
§   Summative: melakukan penilaian apakah tujuan pengguna dan organisasi telah tercapai
§   Perlu dipahami bahwa hasil evaluasi hanya bermakna dalam konteks dimana sistem diuji
§    Memantau penggunaan produk atau system dalam jangka panjang.
§    Melaporkan hasil evaluasi.



REFERENSI :




http://dyahindriatna.blogspot.com/2017/12/standar-proses-ucd-untuk-sistem.html diakses pada tanggal 13 desember 2018

http://evariska2.blogspot.com/2017/12/standard-proses-ucd-untuk-sistem.html diakses pada tanggal 13 desember 2018

Jumat, 02 November 2018

tugas 3 direct memory access


DIRECT MEMMORY ACCESS


Pengertian Direct Memmory Access
Direct memory access (DMA) adalah suatu alat pengendali khusus disediakan untuk memungkinkan transfer blok data langsung antar perangkat eksternal dan memori utama, tanpa intervensi terus menerus dari prosesor.
Transfer DMA dilakukan oleh sirkuit kontrol yang merupakan bagian dari antar muka perangkat I/O. Istilah ini yang sering banyak kita ketahui adalah sebagai kontroler DMA. Kontroler DMA melakukan fungsi yang biasanya dilakukan oleh prosesor pada saat mengakses memori utama (yang sering disebut: RAM). Untuk setiap word yang ditransfer, kontroler ini menyediakan alamat memori dan semua sinyal bus yang mengontrol transfer data. Karena harus mentransfer sejumlah blok data, maka kontroler DMA harus menaikkan alamat memori untuk word yang berurutan dan mencatat jumlah transfer.
Sekalipun kontroler DMA dapat mentransfer data tanpa intervensi dari prosesor, operasinya tetap berada dibawah kontrol program yang dieksekusi oleh prosesor. Untuk menginisiasi transfer suatu blok word, prosesor mengirim alamat awal, jumlah word dalam blok, dan arah transfer. Pada saat seluruh blok telah ditransfer, kontroler tersebut memberitahu prosesor dengan memunculkan sinyal interupt. Pada saat transfer DMA terjadi, program yang meminta transfer tersebut berhenti bekerja dan prosesor dapat digunakan untuk mengeksekusi program lain. Setelah transfer DMA selesai, prosesor dapat kembali ke program yang meminta transfer tersebut.
Operasi I/O selalu dilakukan oleh OS sebagai respon terhadap request dari program aplikasi. OS juga bertanggung jawab untuk menunda eksekusi satu program dan memulai eksekusi program lain. Sehingga, untuk operasi I/O yang melibatkan DMA, OS menetapkan program yang meminta transfer tsb pada keadaan blocked, menginisiasi operasi DMA, dan memulai eksekusi program lain. Pada saat transfer selesai, kontroler DMA memberitahu prosesor dengan mengirim interupt request. Sebagai responnya, OS menetapkan program yang ditunda ke keadaan runnable sehingga dapat dipilih oleh scheduler untuk melanjutkan eksekusi.
Memory merupakan hardware atau perangkat keras yang berfungsi untuk menyimpan data. Data yang disimpan bisa berupa data yang bersifat sementara, juga bisa berupa data yang permanen. Direct Memory Access (DMA), jika di artikan dalam bahasa indonesia adalah akses memori langsung. DMA merupakan fitur yang modern dan komputer yang memungkinkan microprocessors hardware subsystems tertentu di dalam komputer untuk mengakses memori sistem untuk membaca dan  menulis secara independen dari pusat pengolahan unit. Singkatnya, DMA adalah sistem yang dapat mengontrol sistem memori tanpa menggunakan CPU.

v  Fungsi DMA
Fungsi dari DMA sendiri adalah agar 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 juga 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 dari memori tanpa menempati prosesor waktu, mesin dan membuat data tumpang tindih.

v  Cara Kerja DMA
DMA chip atau DMA controller sangat beragam tergantung dari teknologi yang ditanamkan padanya, untuk menjelaskan cara kerjanya akan digunakan jenis yang paling sederhana, yaitu DMA chip yang menangani sebuah transfer setiap waktunya.
Pertama CPU akan memprogram atau mengeset DMA chip dengan mengatur registerinya, agar DMA chip mengetahui apa saja yang perlu ditransfer dan kemana informasi tersebut perlu ditransfer. Selain itu CPU juga akan memberikan command atau perintah pada disk controller untuk membaca data dari disk dan menuliskannya pada internal buffer, serta melakukan checksum untuk memastikan tidak adanya error yang terjadi ketika membaca dan menuliskan data dari disk menuju internal buffer. Bila tidak ada terjadi error maka DMA chip dapat  memulai untuk melakukan transfer. DMA chip akan melakukan request kepada disk controller untuk melakukan transfer data menuju main memory (RAM). Selama melakukan transfer menuju memory akan terjadi bus cycle, dan setiap kali selesai menuliskan data pada memory, disk controller akan mengirim suatu sinyal (acknowledgement signal) pada DMA chip. Kemudian DMA chip akan menaikkan alamat memory untuk digunakan dan melakukan pengurangan pada counter bit data. Proses dari DMA chip melakukan request sampai disk controller mengirimkan sinyal kembali pada DMA chip akan terus berlangsung hingga counter mencapai 0. Ketika counter mencapai 0, maka DMA chip akan melakukan interupt dan memberitahukan pada CPU bahwa proses transfer sudah selesai. Semua transfer data dan sinyal ini dikirimkan melalui suatu bus yang menghubungkan CPU, DMA chip (controller), Disk controller dan main memory.

v  Jalur-Jalur Transfer DMA
Terdapat tiga jalur independen untuk transfer DMA. Setiap saluran yang memicu untuk menerima transfer melalui besar multiplexer yang memilih antara banyak sinyal, transfer terjadi saat sinyal diaktifkan. DMA controller menerima sinyal pemicu tetapi akan mengabaikan itu dalam kondisi tertentu. Hal ini diperlukan untuk cadangan memori bus untuk memprogram ulang dan me non-maskable interrupts. Pengendali juga menangani konflik untuk memicu bersamaan. Ketika beberapa pemicuan terjadi secara bersamaan, mereka muncul di urutan modul prioritas. DMA yang kemudian memicu ke modul yang memicu diaktifkan. DMA saluran yang akan menyalin data dari  blok atau lokasi memori ke lokasi memori tujuan atau blok.

v  Kelebihan DMA
1.      Dapat menirukan sebagian fungsi processor.
2.      Dapat mengambil alih fungsi processor yang berhubungan dengan transfer data.
3.      CPU dapat melakukan menejemen operasi baca tulis (transfer data) dengan baik dan juga dapat menyelesaikan instruksi yang lain.
4.      Mendapat informasi tentang jumlah data bit yang ditransfer, alamat dari device dan memory yang diperlukan dan arah dari aliran data.

v  Kelemahan DMA
1.      Transfer rate data terbatas.
2.      Masih memerlukan keterlibatan CPU, sehingga CPU menjadi lebih sibuk.

Tanpa DMA, diprogram menggunakan Input/ Output (I/O) 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 yang 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.

Proses Kerja Dma

 




ü  Sinyal hold adalah sinyal permintaan bus yang  meminta microprosesor untuk melepaskan control bus setelah siklus bus saat ini.
ü  Sinyal hlda adalah sinyal hibah bus yang menunjukan bahwa microprosesor memang melepaskan kendali busnya dengan menempatkan bus pada status impendansi yang tinggi.

ü  Input hold memiliki prioritas yang lebih  tinggi daripada input intrupsi INTR atau NMI
ü  Dma terjadi antara perangkat i/o dan memori dengan penggunaan microprosesor
ü  Dma baca transfer data dari memori ke perangkat i/o
ü  Dma menulis data transfer  dari perangkat i/o ke memori
ü  Signal MRCD dan IOWC untuk mengaktifkan secara bersamaan untuk membaca dma
ü  teknik akses memori langsung (dma) i / o menyediakan akses langsung ke memori sementara mikroprosesor untuk sementara dinonaktifkan
ü  dma controller secara temporer meminjam address bus, dan mengontrol bus dari microprocesor dan mentransfer byte data secara langsung antara port i / o dan serangkaian lokasi memori
ü  transfer dma juga digunakan untuk melakukan transfer kecepatan tinggi memori ke memori
ü  dua sinyal kontrol digunakan untuk meminta dan mengakui transfer dma dalam sistem berbasis mikroprosesor

search by:
https://wildanpamungkas.blogspot.com/2017/04/dma-direct-memmory-access.html di akses pada tanggal 2 november 2018




CENTRAL PROCESSING UNIT(CPU)

Pengertian CPU Komputer

Pengertian CPU komputer adalah bagian dari perangkat keras (hardware) yang melaksanakan instruksi-instruksi dari sebuah program komputer. CPU melakukan operasi aritmatika, logis, dan input/output dasar dari sebuah sistem komputer. CPU seperti otak dari komputer, setiap instruksi, tidak peduli seberapa sederhana, harus melalui CPU.
Katakanlah Anda menekan huruf “z” pada keyboard dan huruf tersebut muncul di layar, sebenarnya CPU komputer-lah yang membuat hal ini bisa terjadi.
Ketika kita memeriksa berbagai komponen sebuah CPU dan bagaimana komponen-komponen tersebut berfungsi, ingat bahwa semua ini adalah tentang kecepatan. Ketika kita menggunakan komputer, kita ingin instruksi-instruksi yang akan dilakukan sangat cepat.
Ketika instruksi menjadi lebih rumit (misalnya, membuat animasi 3D atau mengedit file video), kita membutuhkan CPU yang lebih cepat dari biasanya.

Jenis-Jenis CPU Komputer

Setelah mengetahui pengertian CPU, mari kita lihat apa saja jenis-jenisnya. Jenis CPU Komputer dibawah dibagi berdasarkan Vendor.

1. Intel Processor

2. AMD (Advanced Micro Processor)

3. ARM Processor

4. Cyrix Processor

5. Transmeta Processor

6. Via

7. Apple Processor

8.  IBM Processor

9.  IDT Processor

Contoh CPU dan Komponen-Komponennya

Sebuah CPU khusus memiliki beberapa komponen. Pertama adalah Arithmetic Logic Unit (ALU), yang melakukan aritmatika dan operasi logis sederhana. Kedua adalah Control Unit (CU), yang mengatur berbagai macam komponen komputer.
Control Unit membaca dan mengartikan instruksi dari memory dan mengubahnya menjadi serangkaian sinyal untuk mengaktifkan bagian-bagian lain komputer. Control Unit menyerukan Arithmetic Logic Unit untuk melakukan perhitungan yang diperlukan.
Ketiga adalah Cache, berfungsi sebagai memory berkecepatan tinggi dimana instruksi-instruksi dapat disalin dan diambil.
Awalnya, CPU terdiri dari banyak komponen yang berbeda, namun sejak tahun 1970-an, komponen-komponen ini dibangun sebagai sebuah unit terintegrasi tunggal yang disebut microprocessor. Dengan demikian, CPU merupakan microprocessor jenis khusus.
CPU terletak pada motherboard. Motherboard memiliki socket untuk CPU yang spesifik untuk jenis processor tertentu. Sebuah CPU akan sangat panas sehingga membutuhkan sistem pendingin sendiri dalam bentuk heat sink dan/atau kipas.
Kecepatan Clock
Kecepatan Clock komputer adalah kecepatan dimana instruksi-instruksi dieksekusi. Kecepatan ini diatur menggunakan clock internal dan dinyatakan sebagai jumlah siklus clock per detik. CPU modern dapat memproses miliaran perhitungan per detik. Satuan yang digunakan untuk menyatakan kecepatan clock adalah hertz, disingkat Hz. Jadi ketika processor memiliki kecepatan clock 3.5 GHz itu berarti 3.5 gigahertz, atau 3.5 miliar siklus clock per detik. Lebih cepat lebih baik, tetapi kecepatan yang lebih tinggi akan membutuhkan biaya yang lebih mahal.
Jadi apa maksud dari processor 64 bit ? Hal ini mengacu pada jarak integer dan menentukan bagaimana sebuah CPU mewakili angka. Bit biner digit 0 dan 1 agak sederhana, jadi untuk mewakili angka yang lebih rumit maka kita membutuhkan bit yang lebih banyak. Misalnya menggunakan processor 8 bit berarti ada 28 atau 256 nilai unik, CPU modern 64 bit, yang berarti 264 nilai unik yang berarti lebih dari 18 triliun. Artinya, dalam hal praktis adalah bahwa CPU 64 bit dapat bekerja jauh lebih cepat dari pendahulunya yaitu CPU 32 bit atau 16 bit.
Produsen komputer selalu berusaha untuk meningkatkan kinerja sistem komputer secara keseluruhan dan peningkatan kecepatan CPU merupakan bagian dari itu. Ada batas fisik untuk kecepatan clock dan seberapa dekat anda dapat menempatkan transistor secara bersamaan pada chip silokon. Salah satu solusi adalah dengan menempatkan beberapa processor dalam satu CPU. Menggunakan dua processor disebut sebagai duo core dan 4 processor disebut sebagai quad core. Namun lebih banyak core berarti akan lebih banyak biaya.
Menggunakan multi core tidaklah semudah kedengarannya, diperlukan komputasi format baru yang dikenal sebagai parallel computing (komputasi paralel), ini berarti bahwa instruksi-instruksi harus dibagi ke dalam beberapa bagian terpisah yang dapat ditangani oleh processor terpisah. Setelah instruksi selesai diproses oleh processor yang terpisah maka hasilnya harus digabungkan kembali.
Pendekatan komputasi paralel telah dikembangkan, dan sebagai hasilnya CPU multi core sekarang menjadi standar dalam sistem komputer reguler.
Search by:

https://www.jejakwaktu.com/cpu/ di akses pada tanggal 2 november 2018

ADDRESS BUS

Address Bus

Digunakan untuk menandakan lokasi sumber ataupun tujuan pada proses transfer data. Pada jalur ini, CPU akan mengirimkan alamat memori yang akan ditulis atau dibaca.Address bus biasanya terdiri atas 16, 20, 24, atau 32 jalur paralel.
Search by:


DATA BUS

Data Bus

Adalah jalur-jalur perpindahan data antar modul dalam sistem komputer. Karena pada suatu saat tertentu masing-masing saluran hanya dapat membawa 1 bit data, maka jumlah saluran menentukan jumlah bit yang dapat ditransfer pada suatu saat. Lebar data bus ini menentukan kinerja sistem secara keseluruhan. Sifatnya bidirectional, artinya CPU dapat membaca dan menirma data melalui data bus ini. Data bus biasanya terdiri atas 8, 16, 32, atau 64 jalur paralel.
Search by:


CONTROL BUS

Control Bus digunakan untuk mengontrol penggunaan serta akses ke Data Bus dan Address Bus. Terdiri atas 4 samapai 10 jalur paralel.
Search by:

MEMORY
Pengertian Memori Secara Umum adalah sistem perangkat yang menyimpan data/informasi  program pada komputer elektronik digital, yang bersifat sementara atau permanent.
Memori biasanya disebut juga dengan istilah : computer storage, computer memory atau memory, merupakan piranti komputer yang digunakan sebagai media penyimpan data dan informasi saat menggunakan komputer. Memory merupakan bagian yang penting dalam komputer modern dan letaknya di dalam CPU (Central Processing Unit). 
Pengertian MemoriUtama : Memori utama merupakan media penyimpanan dalam  bentuk array yang disusun word atau byte, kapasitas daya simpannya bisa jutaan susunan. Setiap word atau byte mempunyai alamat tersendiri. Data yang disimpan pada memori utama ini bersifat volatile, artinya data yang disimpan bersifat sementara dan dipertahankan oleh sumber-sumber listrik, apabila sumber listrik dimatikan maka datanya akan hilang. Sebagian besar komputer memiliki hirarki memori yang terdiri atas tiga level, yaitu: 
·                     Physical Register di CPU, berada di level teratas. Informasi yang berada di register dapat diakses dalam satu clock cycle CPU. 
·                     Primary Memory (executable memory), berada di level tengah. Contohnya, RAM. Primary Memory diukur dengan satu byte dalam satu waktu, secara relatif dapat diakses dengan cepat, dan bersifat volatile (informasi bisa hilang ketika komputer dimatikan). CPU mengakses memori ini dengan instruksi single load dan store dalam beberapa clock cycle. Secondary Memory, berada di level bawah. Contohnya, disk atau tape. 
·                     Secondary Memory diukur sebagai kumpulan dari bytes (block of bytes), waktu aksesnya lambat, dan bersifat non-volatile (informasi tetap tersimpan ketika komputer dimatikan). Memori ini diterapkan di storage device, jadi akses meliputi aksi oleh driver dan device.

FUNGSI MEMORI

Berdasarkan fungsinya, fungsi memori terbagi dalan 2 bagian yaitu memori internal dan memori external.

1. Memori internal 
Memori Internal berfungsi sebagai pengingat. Memory Internal adalah Memory yang dapat diakses secara langsung oleh prosesor. Dalam hal ini yang disimpan di dalam memori utama dapat berupa data atau program.

2. Memory Eksternal 
Memori exsternal adalah memori tambahan yang berfungsi untuk menyimpan data atau program. Dengan kata lain memory ini termasuk perangkat keras untuk melakukan operasi penulisan, pembacaan dan penyimpanan data, di luar memori utama.


Contoh: Hardisk, Flash Disk, dan Floppy Disk. Pada dasarnya konsep dasar memori eksternal adalah Menyimpan data bersifat tetap (non volatile), baik pada saat komputer aktif atau tidak.
Memori eksternal mempunyai dua fungsi utama yaitu sebagai penyimpan permanen untuk membantu fungsi RAM dan yang untuk mendapatkan memori murah yang berkapasitas tinggi bagi penggunaan jangka panjang.
Search by:


I/O INTERFACE
Sistem Input Dan Output Komputer atau sering juga disingkat dengan I/O adalah suatu mekanisme pengiriman data secara bertahap dan terus menerus melalui suatu aliran data dari proses ke peranti (begitu pula sebaliknya). Fungsi I/O pada dasarnya adalah mengimplementasikan algoritma I/O pada level aplikasi. Hal ini dikarenakan kode apliksi sangat fleksibel, dan bugs aplikasi tidak mudah menyebabkan sebuah sistem crash.
Teknik Pengoperasian Perangkat I/O
a. Perangkat I/O terprogram (programmed I/O)

Merupakan perangkat I/O komputer yang dikontrol oleh program. Contohnya, perintah mesin in, out, move. Perangkat I/O terprogram tidak sesuai, untuk pengalihan data dengan kecepatan tinggi karena dua alasan yaitu:
·         Memerlukan overhead (ongkos) yang tinggi, karena beberapa perintah program harus dieksekusi untuk         setiap kata data yang dialihkan antara peralatan eksternal dengan memori utama.
·         Banyak peralatan periferal kecepatan tinggi memiliki mode operasi sinkron, yaitu pengalihan data dikontrol oleh clock frekuensi tetap, tidak tergantung CPU.
b. Perangkat berkendalikan interupsi (Interrupt I/O)
Interupsi lebih dari sebuah mekanisme sederhana untuk mengkoordinasi pengalihan I/O. Konsep interupsi berguna di dalam sistem operasi dan pada banyak aplikasi kontrol di mana pemrosesan rutin tertentu harus diatur dengan seksama, relatif peristiwa-peristiwa eksternal.
c. DMA (Direct Memory Address)
Merupakan suatu pendekatan alternatif yang digunakan sebagai unit pengaturan khusus yang disediakan untuk memungkinkan pengalihan blok data secara langsung antara peralatan eksternal dan memori utama tanpa intervensi terus menerus oleh CPU.
Evolusi telah terjadi pada sistem komputer. Evolusi antara lain terjadi peningkatan kompleksitas dan kecanggihan komponen-komponen sistem komputer. Evolusi sangat tampak pada fungsi-fungsi I/O, yaitu sebagai berikut:
·         pemroses secara langsung mengendalikan peralatan I/O. Teknik ini masih dilakukan sampai saat ini, yaitu untuk peralatan sederhana yang dikendalikan mikroprosesor untuk menjadi intelligent device.
·         Peralatan dilengkapi pengendali I/O (I/O controller). Pemroses masih menggunakan I/O terprogram tanpa interupsi. Pada tahap ini, pemroses tak perlu memperhatikan rincian-rincian spesifik interface peralatan.
·         Tahap ini sama dengan tahap 2 ditambah fasilitas interupsi. Pemroses tidak perlu menghabiskan waktu untuk menunggu selesainya operasi I/O. Teknik ini meningkatkan efisiensi pemroses.
·         Pengendali I/O diberi kendali memori langsung lewat DMA. Pengendali dapat memindahkan blok data ke atau dari memori tanpa melibatkan pemroses kecuali di awal dan akhir transfer.
·         Pengendali I/O ditingkatkan menjadi pemroses yang terpisah dengan instruksi-instruksi khusus yang ditujukan untuk operasi I/O. Pemroses pusat mengendalikan/memerintahkan pemroses I/O untuk mengeksekusi program I/O yang terdapat di memori utama.
·         Pemroses I/O mengambil dan mengeksekusi instruksi-instruksi ini tanpa intervensi pemroses utama (pusat). Dengan teknik ini dimungkinkan pemroses pusat menspesifikasikan barisan aktivitas I/O dan hanya diinterupsi ketika seluruh barisan telah diselesaikan.
·         Pengendali I/O mempunyai memori lokal yang menjadi miliknya dan komputer juga memiliki memori sendiri. Dengan arsitektur ini, sekumpulan besar peralatan I/O dapat dikendalikan dengan keterlibatan pemroses pusat yang minimum.
Arsitektur ini digunakan untuk pengendalian komunikasi dengan terminalterminal interaksi. Pemroses I/O mengambil alih kebanyakan tugas yang melibatkan pengendalian terminal. Evolusi berlangsung terus, jalur yang dilalui oleh evolusi adalah agar fungsi-fungsi I/O dapat dilakukan lebih banyak dan lebih banyak lagi tanpa keterlibatan pemroses pusat. Pemroses pusat yang tidak disibukkan dengan tugas-tugas yang berhubungan dengan I/O akan meningkatkan kinerja sistem. Tahap 5 & 6 merupakan tahap perubahan utama, yaitu konsep pengendali I/O mampu mengeksekusi program sendiri.

Prinsip-Prinsip Perangkat I/O


Terdapat dua sasaran perancangan perangkat I/O, yaitu:


a. Efisiensi
Merupakan aspek penting karena operasi I/O karena sering menjadi operasi yang menimbulkan bottleneck pada sistem komputer/komputasi.
b. Generalitas (Device-independence)
Selain berkaitan dengan simplisitas dan bebas dari kesalahan diharapkan juga menangani semua gerak peralatan secara beragam. Pernyataan ini diterapkan dari cara proses-proses memandang peralatan I/O dan cara sistem operasi mengelola peralatan-peralatan dan operasi-operasi I/O.
Perangkat lunak diorganisasikan sebagai satu barisan lapisan. Lapisan-lapisan lebih bawah berurusan menyembunyikan kepelikan-kepelikan perangkatkeras. Untuk untuk lapisan-lapisan lebih atas berurusan memberikan interface yang bagus, bersih, nyaman dan seragam ke pemakai.
Masalah-masalah penting yang terdapat dan harus diselesaikan pada perancangan manajemen I/O adalah:
·         Penamaan yang seragam (uniform naming) Nama berkas atau peralatan adalah string atau integer, tidak tergantung pada peralatan sama sekali.
·         Penanganan kesalahan (error handling) Umumnya penanganan kesalahan ditangani sedekat mungkin dengan perangkat keras.
·         Transfer sinkron vs asinkron, Kebanyakan fisik I/O adalah asinkron. Pemroses mulai transfer dan mengabaikannya untuk melakukan kerja lain sampai interupsi tiba. Programprogram pemakai sangat lebih mudah ditulis jika operasi-operasi I/O berorientasi blok. Setelah perintah read, program kemudian secara otomatis ditunda sampai data tersedia di buffer.
·         Shareable vs dedicated Beberapa peralatan dapat dipakai bersama seperti disk, tapi ada juga peralatan yang harus hanya satu pemakai yang dibolehkan memakainya pada satu saat. Contohnya peralata yang harus dedicated misalnya printer.
Search by: