Selasa, 31 Maret 2015

Perancangan ER Diagram Menggunakan DBDESIGNER

Modul 4 - PERANCANGAN ER DIAGRAM MENGGUNAKAN DBDESIGNER
A. Tujuan
1. Mahasiswa mampu merancang basis data melalui tahap-tahap perancangannya.
2. Mahasiswa mampu mewujudkan hasil perancangan basis data ke dalam diagram E-R menggunakan DBDesigner.

B. Landasan Teori
1. Landasan teori pada modul 3

C. Alat dan Bahan
1. Komputer dengan sistem operasi Windows XP
2. Program aplikasi DBDesigner
3. Modul Praktikum Sistem Berkas dan Basis Data

D. Langkah-langkah Praktikum
1. Menggambarkan E-R diagram dengan menggunakan DB Designer :
a. Jalankan program DB Designer
b. Klik button new table. Kemudian klik pada area kerja sehingga akan menghasilkan tabel baru
c. Double klik pada tabel baru untuk membuka tabel editor, ganti nama pada table name dengan nama nasabah, kemudian isikan atribut tabel dengan data seperti pada langkah no.2 yaitu sebagai berikut :

d. Klik icon diamond pada coloumn name id_nasabah untuk mengeset id_nasabah menjadi primary key sehingga berubah menjadi simbol kunci.

e. Klik untuk munutup table editor sehingga tabel nasabah menjadi :
f. Lakukan langkah b sampai e untuk membuat tabel rekening, cabang_bank dan transaksi.
g.Setelah semua tabel dibuat, hubungkan setiap tabel dengan tabel lain dengan button sebagai berikut:

Keterangan : klik salah satu button kemmudian klik tabel yang akan dihubungkan.
h. Ubah nama relationship dengan membuka relationship editor, sehingga setelah selesai hasil akhir menjadi seperti berikut :
E. Analisa
Dalam pembuatan database harus ditentukan entitas beserta atribut yang menyertainya kemudian menentukan relasi antar entitas-entitas tersebut.

F. Tugas
Dari tugas pada modul 3 soal no.1 dan 2, buatlah rancangan basis data dari tahap 1 sampai4. Gunakan program DB Designer untuk membuat E-R Diagram.

1. Buat rancangan sebuah database untuk menangani data-data kuliah. Data-data yang akan ditanganinya adalah: data pribadi mengenai mahasiswa, data pribadi mengenai dosen, data matakuliah dan data ruang kelas. Mahasiswa boleh mengambil lebih dari satu mata kuliah, dan satu mata kuliah boleh diambil oleh lebih dari satu mahasiswa sekaligus (joint account).
Buatlah ER Diagram manual untuk kasus tersebut dari tahap 1- tahap 4!

1) Menentukan entitas:
· Mahasiswa: menyimpan semua data pribadi semua mahasiswa.
· Dosen: menyimpan semua data pribadi semau dosen.
· Matakuliah: menyimpan informasi tentang semua mata kuliah yang ada.
· Ruang: menyimpan informasi tentang semua ruang kelas yang digunakan.

2) Menentukan attributes:
· Mahasiswa:
o nama_mhs : nama lengkap mahasiswa (string)
o nim : nomor induk mahasiswa (integer) PK
o alamat_mhs : alamat mahasiswa (string)

· Dosen:
o nama_dos : nama lengkap dosen (string)
o nik : nomor induk kepegawaian (integer) PK
o alamat_dos : alamat lengkap dosen (string)

· Matakuliah:
o nama_mk : nama mata kuliah (string)
o sks : sks mata kuliah (integer)
o kode_mk : kode mata kuliah (integer) PK
o semester : semester mata kuliah (integer)

· Ruang:
o kode_ruang: kode untuk ruang kelas (string) PK
o kapasitas : kapasitas untuk ruang kelas (integer)

3) Menetukan relationship antar entitas:

Hubungan:
· Mahasiswa dibimbing oleh Dosen:
o Tabel utama: Dosen
o Tabel kedua: Mahasiswa
o Relationship: many to one (n:1)
o Attribute penghubung: nik (FK nik di Mahasiswa)

· Dosen membimbing Matakuliah:
o Tabel utama: Dosen
o Tabel kedua: Matakuliah
o Relationship: many to one (n:1)
o Attribute penghubung: nik (FK nik di Matakuliah)

· Mahasiswa mengambil Matakuliah:
o Tabel utama: Mahasiswa, Matakuliah
o Tabel kedua: Mahasiswa_has_Matakuliah
o Relationship: many to many (m:n)
o Attribute penghubung: nim, kode_mk (FK nim, kode_mk di Mahasiswa_has_Matakuliah)

· Ruang digunakan untuk Matakuliah:
o Tabel utama: Matakuliah
o Tabel kedua: Ruang
o Relationship: 1:1
o Attribute pendukung: kode_mk (FK kode_mk di Ruang)

4) Menggambar ER Diagram dengan DB Designer:

2. Ambil contoh sembarang database. Buatlah rancangan ER Diagram manuual database tersebut dari tahap 1 sampai tahap 4, dengan ketentuan database minimal mengundang 4 buah entitas

Database karyawan perusahaan

Tahap 1. Penentuan Entitas :
• Karyawan : berisi data-data karyawan
• Ruang_kerja: meniyimpan data ruang kerja
• Cuti : berisi daftar cuti
• Fasilitas: berisi daftar fasilitas yang tersedia

Tahap 2. Penentuan Atribut :
• Karyawan:
o NPK : Nomor pokok karyawan (integer)PK
o Nama_karyawan : nama lengkap karyawan (string)
o Jabatan : status jabatan karyawan

• Ruang_kerja :
o Kode_ruang : nomor ruang kerja (integer)PK
o Lokasi_ruang : lokasi ruang kerja (String)

• Cuti :
o No_register : nomor registrasi cuti(integer)PK
o Jenis_cuti : jenis cuti yang diambil (string)
o Tanggal : waktu cuti (date/time)

• Fasilitas :
o No_register : nomor registrasi fasilitas (integer)PK
o Jenis_fasilitas: jenis fasilitas yang digunakan (string)

Tahap 3. Penentuan Relationship :


Hubungan :
• Karyawan menggunakan ruang_kerja :
o Tabel utama karyawan
o Tabel kedua : ruang_kerja
o Relationship : many-to-one (n:1)
o Attribute penghubung : npk (FK npk , npk di ruang_kerja)

• Cuti diambil karyawan :
o Tabel utama : cuti
o Tabel kedua : karyawan
o Relationship : One-to-many (1:n)
o Attribute penghubung : no_register (FK no_register di karyawan)

• Karyawan memakai fasilitas :
o Tabel utama : karyawan , fasilitas
o Tabel kedua : karyawan_memakai_fasilitas
o Relationship : many-to-many (m:n)
o Attribute penghubung : npk, no_register (FK npk, no_register di karyawan_memakai_fasilitas)

Tahap 4. Pembuatan ERD

Selasa, 24 Maret 2015

Adaptive Software Development

1. Adaptive Software Development (ASD)
Adaptive Software Development (ASD) diajukan oleh Jim Highsmith sebagai teknik untuk membangun software dan sistem yang kompleks. Filosofi yang mendasari Adaptive Software Development (ASD) adalah kolaborasi manusia dan tim yang mengatur diri sendiri.
System kerja adaptive software development ada 3 : Speculation, Collaboration dan Learning. Adaptive cycle planning yaitu menggunakan informasi awal seperti misi dari klien, batasan proyek dan kebutuhan dasar untuk definisikan rangkaian software increment (produk software yang secara berkala diserahkan).



Gambar 1. Proses Adaptive Software Development (ASD)
ASD merupakan suatu model yang tergolong dalam pendekatan agile yang diusulkan oleh Jim Highsmith. ASD menekankan pada pengorganisasian tim secara mandiri, kolaborasi antar-perseorangan, dan terus belajar, baik secara individu maupun secara tim. ASD menggunakan tools yang disebut "time-boxing" - yaitu berupa aktifitas yang menentukan jangka waktu tertentu yang dialokasikan untuk menyelesaikan berbagai macam tugas. Apabila waktu yang ditentukan tersebut selesai, maka pembangunan sistem akan pindah ke tugas berikutnya, dengan harapan bahwa sebagian besar dari critical work telah berhasil diselesaikan sebelum waktu keseluruhan tugas berakhir. Terdapat tiga tahapan pada model ASD, yaitu: Speculation, Collaboration, dan Learning.
Adaptive Software Development (Pressman, 2005)

Pada tahap Speculation, proyek dimulai dan adaptive cycle planning diselenggarakan. Pada tahapan ini, didefinisikan visi dan misi pengguna terhadap sistem yang akan dibuat, selanjutnya mendefinisikan project constraints, misalnya: waktu deliver. dan selanjutnya mendefinisikan satu set dari requirements yang akan dikerjakan dalam suatu cycle.
Pada tahap Collaboration, pada tahap ini diorganisasikan tim kerja untuk membangun sistem. Direkomendasikan menggunakan model Joint Application Development (JAD). Collaboration : orang-orang yang bermotivasi tinggi bekerja sama: saling melengkapi, rela membantu, kerja keras, trampil di bidangnya, dan komunikasikan masalah untuk hasilkan penyelesaian yang efektif.
Pada tahap Learning, terdapat tiga aktifitas yaitu: pelanggan atau end-user menyediakan feedback terhadap hasil incremental delivery, tim ASD melakukan review terhadap komponen perangkat lunak untuk memperbaiki dan meningkatkan kualitas perangkat lunak yang sedang dibuat. Learning: tim pembangun sering merasa sudah tahu semua hal tentang proyek,
padahal tidak selamanya begitu. Karena itu proses ini membuat mereka belajar lebih tentang proyek melalui 3 cara:
• Focus group: klien dan pengguna memberi masukan terhadap software
• Formal Technique Reviews: Tim ASD lengkap melakukan review
• Postmortems: Tim ASD lakukan instrospeksi pada kinerja dan proses

2. Dynamic Systems Development Method (DSDM)
Pada Dynamic System Development Method menyajikan kerangka kerja (framework) untuk membangun dan memelihara sistem dalam waktu yang terbatas melalui penggunaan prototyping yang incremental dalam lingkungan yang terkondisikan. Metode ini akan membangun software dengan cepat: 80% dari proyek diserahkan dalam 20% dari waktu total untuk menyerahkan proyek secara utuh. Dynamic System Development Method dapat dikombinasikan dengan Extreme Programmning menghasilkan kombinasi model proses yang mengikuti Dynamic System Development Method dan praktek yang sejalan dengan Extreme Programming.
Dynamic System Development Method memiliki beberapa aktifitas seperti :

1. Feasibility study : siapkan requirement, dan batasan, lalu uji apakah sesuai gunakan proses DSDM
2. Business Study: susun kebutuhan fungsional dan informasi, tentukan arsitektur aplikasi dan identifikasi kebutuhan pemeliharaan untuk aplikasi
3. Functional model iteration : hasilkan incremental prototype yang perlihatkan fungsi software ke klien untuk dapatkan kebutuhan lebih jelas dan konfirmasi
4. Design and Build Iteration : cek ulang prototype yang dibangun untuk pastikan bahwa prototype dibangun dengan cara yang memungkinkan fungsi tersebut benar-benar bekerja
5. Implementation: menempatkan software pada lingkungan sebenar sekalipun belum lengkap, atau masih ada perubahan

Prinsip DSDM :

Ada delapan prinsip yang mendasari DSDM Atern. Prinsip-prinsip ini mengarahkan tim dalam sikap mereka harus mengambil dan pola pikir mereka harus mengadopsi untuk memberikan secara konsisten.
1) Fokus pada kebutuhan bisnis
Kriteria utama untuk penerimaan dari "penyampaian" adalah memberikan suatu sistem yang membahas kebutuhan bisnis saat ini. Menyampaikan sistem yang sempurna yang membahas semua kebutuhan bisnis yang mungkin kurang penting daripada berfokus pada fungsi kritis.
• Memahami prioritas bisnis sejati
• Membentuk Kasus Bisnis suara
• Mencari sponsor bisnis yang berkesinambungan dan komitmen
• Jaminan Subset Usable Minimum fitur.

2) Memberikan tepat waktu
• Timebox pekerjaan
• Fokus pada prioritas bisnis
• Selalu memenuhi tenggat waktu

3) Berkolaborasi
Keterlibatan pengguna merupakan kunci utama dalam menjalankan proyek yang efisien dan efektif, dimana kedua pengguna dan pengembang berbagi tempat kerja (baik fisik atau melalui alat), sehingga pengambilan keputusan dapat dilakukan secara kolaboratif dan cepat.
• Melibatkan pemangku kepentingan yang tepat, pada waktu yang tepat, seluruh proyek
• Pastikan bahwa anggota tim diberi wewenang untuk mengambil keputusan atas nama rakyat yang mereka wakili tanpa menunggu persetujuan tingkat yang lebih tinggi.
• Aktif melibatkan perwakilan bisnis
• Membangun budaya satu tim

4) Jangan kompromi soal kualitas
• Mengatur tingkat kualitas di awal
• Memastikan kualitas yang tidak menjadi variable
• Desain, dokumen dan uji tepat
• Membangun kualitas dengan review konstan
• Uji awal dan terus menerus

5) Membangun secara bertahap
• Upayakan untuk pengiriman awal manfaat bisnis di mana mungkin
• Terus mengkonfirmasi solusi yang tepat sedang dibangun
• Secara formal menilai kembali prioritas dan kelayakan proyek yang sedang berlangsung dengan kenaikan masing-masing disampaikan

6) Mengembangkan Iterasi
Fokus pada penyajian produk sesering mungkin, dengan asumsi bahwa untuk memberikan sesuatu yang "cukup baik" sebelumnya selalu lebih baik daripada memberikan segalanya "sempurna" pada akhirnya. Dengan memberikan produk sering dari tahap awal dari proyek, produk dapat diuji dan ditinjau di mana catatan uji dan dokumen review dapat diperhitungkan pada iterasi berikutnya atau fase.
• Jangan cukup desain depan untuk menciptakan fondasi yang kuat
• Mengambil pendekatan iteratif untuk membangun semua produk
• Membangun umpan balik pelanggan dalam setiap iterasi untuk fokus pada solusi bisnis yang efektif
• Terimalah bahwa detail yang paling muncul kemudian daripada cepat
• Merangkul berubah - solusi yang tepat tidak akan berkembang tanpa itu
• Jadilah kreatif, bereksperimen, belajar, berevolusi

7) Berkomunikasi terus menerus dan jelas
Komunikasi dan kerja sama di antara semua stakeholder proyek diperlukan untuk menjadi efisien dan efektif.
• Jalankan tim setiap hari
• Gunakan lokakarya
• Gunakan teknik komunikasi yang kaya seperti pemodelan dan prototyping
• Iterasi kini berkembang solusi awal dan sering
• Menjaga dokumentasi ramping dan tepat waktu
• Mengelola harapan pemangku kepentingan seluruh proyek
• Mendorong informal komunikasi tatap muka di semua tingkatan

8) Menunjukkan kontrol.
• Gunakan tingkat yang sesuai formalitas untuk pelacakan dan pelaporan
• Buatlah rencana dan kemajuan terlihat oleh semua
• Mengukur kemajuan melalui fokus pada pengiriman produk daripada kegiatan selesai
• Mengelola secara proaktif
• Evaluasi kelayakan proyek terus berdasarkan tujuan bisnis


3. Scrum

Pertama kali diperkenalkan oleh Jeff Sutherland tahun awal tahun 1990an, dan dikembangkan selanjutnya dilakukan oleh Schwaber dan Beedle. Pada dasarnya Scrum merupakan salah satu komponen dari metodologi pengembangan Agile mengenai pertemuan harian untuk membahas kemajuan dan XP adalah menekankan metodologi yang berbeda sepasang ujian dulu pemrograman dan pembangunan. Scrum menguraikan proses untuk mengidentifikasi dan katalogisasi pekerjaan yang perlu dilakukan, memprioritaskan yang bekerja dengan berkomunikasi dengan pelanggan atau wakil pelanggan, dan pelaksanaan yang bekerja menggunakan rilis iterative dan memiliki tujuan utama untuk mendapatkan perkiraan berapa lama akan pembangunan. XP lebih lanjut tentang pengembang membantu menyelesaikan pekerjaan secepat dan maintainably mungkin
Scrum memiliki prinsip yaitu:

1. Ukuran tim yang kecil melancarkan komunikasi, mengurangi biaya, dan memberdayakan satu sama lain
2. Proses dapat beradaptasi terhadap perubahan teknis dan bisnis
3. Proses menghasilkan beberapa software increment
4. Pembangunan dan orang yang membangun dibagi dalam tim yang kecil
5. Dokumentasi dan pengujian terus menerus dilakukan setelah software dibangun
6. Proses scrum mampu menyatakan bahwa produk selesai kapanpun diperlukan


Scrum memiliki aktifitas yang meliputi :

1. Backlog
Backlog adalah daftar kebutuhan yang jadi prioritas klien, dan daftar yang dibuat dapat bertambah

2. Sprints
Aktifitas Sprints merupakanunit pekerjaan yang diperlukan untuk memenuhi kebutuhan yang ditetapkan dalam backlog sesuai dengan waktu yang ditetapkan dalam time-box (biasanya 30hari). Selama proses ini berlangsung backlog tidak ada penambahan.

3. Scrum Meetings
Aktifitas Scrum Meeting merupakan pertemuan yang rutin dilakukan perhari untuk evaluasi apa yang dikerjakan, hambatan yang ada, dan target penyelesaian untuk bahan meeting selanjutnya.

4. Demo
Aktifitas Demo adalah penyerahan software increment ke klien didemonstrasikan dan dievaluasi oleh klien.

4. Crystal
Crystal diperkenalkan oleh Cockburn dan Highsmith, Development yang tidak pada jalur kritis, dapat menghabikan waktu lebih, mereka yang memperbaiki produk atau membantu oaring yang ada di jalur proyek kritis.
Karakteristik Crystal :

1. Secara aktual sebuah model proses keluarga yang memungkinkan manuver berdasar karakteristik permasalahan
2. Menyarankan penggunaan workshop refleksi untuk review kebiasaan kerja tim
3. Selalu murah dan cepat berkomunikasi secara langsung.
4. Proyek berkembang sesuai ukuran team menjadi lebih atau luas dan metologi akan menjadi lebih tinggi.

5. Feature Driven Development
FDD awalnya dirancang oleh Jeff De Luca, untuk memenuhi kebutuhan spesifik dari satu bulan 15-, 50-orang proyek pengembangan perangkat lunak pada sebuah bank besar di Singapura 1997. Jeff De Luca menyampaikan satu set lima proses yang menutupi pengembangan model secara keseluruhan dan daftar, perencanaan, desain dan bangunan fitur. Proses pertama sangat dipengaruhi oleh pendekatan Peter Coad untuk pemodelan obyek. Proses kedua menggabungkan ide-ide Peter Coad tentang menggunakan daftar fitur untuk mengelola kebutuhan fungsional dan tugas-tugas pembangunan. Proses lainnya dan campuran proses menjadi suatu kesatuan kohesif merupakan hasil dari pengalaman Jeff De Luca. Sejak penggunaan sukses pada proyek Singapura, ada beberapa implementasi dari FDD.

Gambaran FDD pertama kali diperkenalkan kepada dunia dalam Bab 6 dari buku Modeling Jawa Warna dengan UML oleh Peter Coad, Lefebvre Eric dan Jeff De Luca pada tahun 1999. Kemudian, di Stephen Palmer dan buku Mac Felsing A Panduan Praktis untuk Pengembangan Fitur-Driven (diterbitkan pada 2002), deskripsi yang lebih umum FDD diberikan, seperti yang dipisahkan dari pemodelan Jawa dalam warna.
FDD asli dan terbaru proses dapat ditemukan di situs web Jeff De Luca di bawah wilayah 'Pasal'. Ada juga web komunitas yang tersedia di mana orang dapat mempelajari lebih lanjut tentang FDD, pertanyaan bisa ditanyakan, dan pengalaman, dan proses itu sendiri dibahas.


Karakteristik
penggunaan FDD sebaiknya digunakan jika; memekerjakan 10 – 250 developer yang memiliki kemampuan teknis lebih dari rata-rata, dan jangan digunakan jika; jumlah tim kurang dari 10, tim sedang belajar menguasai pekerjaan dan jika kurang dukungan dari sistem. FDD lebih terhirarki daripada Extreme Programming, memiliki class owenership yang terpisah-pisah, sukses jika dalam rentang jumlah developer diatas rata-rata, klien tidak dilibatkan dalam seluruh urutan proses (hanya dalam proses 1, 2 dan 4) dan menghargai developer sebagai individu manusia yang menentukan sukses atau tidaknya pengembangan.

Kelebihan

• User dapat menggambarkan dengan mudah bentuk system.
• Dapat di organisasikan atau diatur ke dallamkelompok bisnis yang hirarki.
• Desain dank ode lebih mudah diperiksa secara efektif.
• Merancang proyek, penjadwalan dan jalur diarahkan oleh feature.

6. Agile Modeling

Agile pengembangan software adalah sekelompok metodologi pengembangan software yang didasarkan pada prinsip-prinsip yang sama. Agile metodologi umumnya mempromosikan proyek yang mendorong proses pengelolaan sering inspeksi dan adaptasi, sebuah filosofi yang mendorong kepemimpinan tim, mandiri dan akuntabilitas organisasi, satu set teknik praktek terbaik yang memungkinkan untuk pengiriman cepat dari perangkat lunak yang berkualitas tinggi, dan usaha pendekatan yang aligns pembangunan dengan kebutuhan pelanggan dan tujuan perusahaan. Konseptual kerangka dasar-dasar ini akan ditemukan di modern pendekatan manajemen operasional dan analisis seperti bersandar manufaktur, lunak sistem metodologi, pidato bertindak teori (pendekatan percakapan jaringan), dan Six Sigma.


Sejarah
Modern definisi Agile pengembangan software berkembang pada pertengahan tahun 1990-an sebagai bagian dari reaksi terhadap "berat" metode, dikatakan oleh seorang typified berat diatur, regimented, Mikro dikelola menggunakan waterfall model pembangunan. Proses ini berasal dari air terjun menggunakan model yang dianggap sebagai birokrasi, lambat, demeaning, dan tidak konsisten dengan cara yang sebenarnya pengembang perangkat lunak melakukan kerja efektif. Kasus dapat dibuat yang Agile dan pengembangan metode yg berulang adalah pembangunan kembali ke praktek mulai awal dalam sejarah pengembangan piranti lunak. Pada mulanya, Agile metode yang disebut "metode ringan." Pada tahun 2001, anggota tokoh masyarakat bertemu di Snowbird, Utah, dan mengadopsi nama "metode Agile." Nantinya, sebagian dari orang-orang yang membentuk Aliansi Agile, sebuah organisasi nirlaba yang mempromosikan pembangunan Agile.
Suatu proses pengembangan software adaptif diperkenalkan dalam karya oleh Edmonds (1974). terkemuka awal Agile metode mencakup banyak (1995), Crystal Clear, Extreme Programming (1996), adaptive Software Development, Fitur Terutama Pembangunan dan Pengembangan Sistem Dinamis Metode (DSDM) (1995). Ini biasanya disebut sebagai metodologi Agile sejak Agile Manifesto telah diterbitkan pada tahun 2001.

Metodologi
1. Analisis Proyek : Menganalisis proyek sistem yang ingin dikembangakan
2. Pengembangan Proyek : Proses pengembangan sistem dilakukan
3. Testing Proyek : Mencoba sistem yang sudah selesai sebelum diberikan kepada client Apabila sistem lulus test dan tidak ada perubahan-perubahan, maka sistem tersebut sudah bisa digunakan oleh client. Sementara apabila masih terjadi perubahan-perubahan maka kembali lagi ke proses awal.

Kelebihan dan Kekurangan
Kelebihan dari Agile Modeling:
1. Meningkatkan kepuasan kepada klien
2. Pembangunan system dibuat lebih cepat
3. Mengurangi resiko kegagalan implementasi software dari segi non-teknis
4. Jika pada saat pembangunan system terjadi kegagalan,kerugian dar segi materi relative kecil.
Kelemahan dari Agile Modeling:
Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.


Contoh Penerapan dalam Kehidupan
Metode Agile telah banyak digunakan untuk pengembangan produk perangkat lunak dan beberapa dari mereka menggunakan karakteristik tertentu dari perangkat lunak, seperti teknologi objek. Namun, teknik ini dapat diterapkan untuk pengembangan produk non-software, seperti komputer, motorik kendaraan, peralatan medis, makanan, dan pakaian, lihat pengembangan produk Fleksibel .

Siklus Hidup
Metode tangkas difokuskan pada aspek yang berbeda dari siklus hidup pengembangan perangkat lunak. Beberapa fokus pada praktek (pemrograman ekstrim, pemrograman pragmatis, pemodelan tangkas), sementara yang lain fokus pada pengelolaan proyek perangkat lunak (pendekatan scrum). Namun, ada pendekatan menyediakan cakupan penuh atas siklus hidup pengembangan (metode pengembangan sistem dinamis, atau DSDM, dan IBM Rational Unified Process, atau RUP), sementara sebagian besar dari mereka yang cocok dari persyaratan spesifikasi fasa pada (pengembangan fitur -driven, atau FDD, misalnya). Dengan demikian, ada perbedaan yang jelas antara berbagai metode pengembangan perangkat lunak tangkas dalam hal ini. Sedangkan DSDM dan RUP tidak perlu melengkapi pendekatan untuk mendukung pengembangan perangkat lunak , yang lain lakukan untuk tingkat tertentu. DSDM dapat digunakan oleh siapa saja (meskipun hanya anggota DSDM dapat menawarkan produk atau jasa DSDM). RUP, maka, merupakan lingkungan pengembangan dijual secara komersial (Abrahamsson, Salo, Rankainen, & Warsta, 2002).

Sumber:
https://dwijaantara.wordpress.com/2010/10/25/agile-method/
http://www.proweb.co.id/articles/erp/pengertian_scrum.html
http://kamarujung.blogspot.com/2013/04/pengertian-fdd.html
http://fannynurrizky06.blogspot.com/2013/11/agile-software-development.html



Senin, 23 Maret 2015

Perancangan Basis Data Menggunakan E-R Diagram Manual

Modul 3
Perancangan Basis Data Menggunakan E-R Diagram Manual
A. Tujuan
1. Mahasiswa mampu merancang basis data melalui tahap-tahap perancangannya.
2. Mahasiswa mampu mewujudkan hasil perancangan basis data kedalam diagram E-R secara manual.

B. Landasan Teori

Database dapat dimodelkan sebagai :
1. Kumpulan dari entity (entitas)
2. Hubunganantar entity (entitas)

 Entity
Entity atau disebuat jugadengan entitas merupakan segala sesuatu yang dapat digambarkan oleh data. Entity Sets merupakan kumpulan entitas yang sejenis. Entity mempunyai atribut.

 Attributes
Attribute merupakan kumpulan diantara semua entitas-entitas yang terdapat pada himpunan. Tipe attribute :
1. Simple (sederhana) dan composite (gabungan) attributes.
2. Single-valued (satu-fungsi) dan multi-valued (multi-fungsi) attributes.
3. Derived (asal) attributes.

• Relationship Sets
Relationship adalah kesesuaian antar beberapa entity. Relationship sets adalah hubungan matematika antara entity n>2, tiap bagiannya diambil dari satuan entity.
• Tingkatan Relationship Set
Relationship sets yang melibatkan dua entity sets adalah binary (tingkat dua).
• Mapping Cardinalities (Cardinalitas Pemetaan)
1. One to one (satu ke satu)
2. One to many (satu ke banyak)
3. Many to one (banyak ke satu)
4. Many to many (banyak ke banyak)

• ERD (Entity Relationship Diagram)
Merupakan hubungan antara entities (tabel-tabel) dan relationships (hubungan-hubungan) di antara entities tersebut.

• Aturanuntuk Model Database
1. Tiap baris harus berdiri sendiri (independent)
2. Tiap baris harus unik
3. Kolom harus berdiri sendiri
4. Nilai tiap kolom harus berupa satu kesatuan

• Tahap Pembuatan Database
1. Tentukan Entities
2. Tentukan Attributes
3. Tentukan relationships
4. Pembuat ERD
5. Proses normalisasi database
6. Implementasi Database

C. AlatdanBahan
1. Komputer dengan system operasi Windows XP.
2. Modul Praktikum Sistem Berkas dan Basis Data.

D. LangkahKerja

1. Menentukan entities yang perlu ada pada database :
• Nasabah , rekening, cabang_bank, transaksi

2. Menetukan attributes masing-masing entities sesuai kebutuhan database
• Nasabah : id_nasabah , nama_nasabah, alamat_nasabah
• Rekening : no_rekening , pin , saldo
• Cabang_bank : kode_cabang , nama_cabang, alamat_cabang
• Transaksi : no_transaksi , jenis_transaksi , tanggal , jumlah

3. Menentukan relationship di antara entities tersebut



Hubungan
• Nasabah memiliki rekening :
o Tabel utama : nasabah , rekening
o Tabel kedua : nasabah_has_rekening
o Relationship : many-to-many (m:n)
o Attribute penghubung : id_nasabah , no_rekening (FK id_nasabah , no_rekeningdi nasabah_has_rekening)

• Nasabah melakukan transaksi :
o Tabel utama : nasabah
o Tabel kedua : transaksi
o Relationship : One-to-many (1:n)
o Attribute penghubung : id_nasabah (FK id_nasabah di transaksi)

• Cabang_bank menangani rekening:
o Tabel utama : cabang_bank
o Tabel kedua : rekening
o Relationship : One-to-many (1:n)
o Attribute penghubung : kode_cabang (FK kode_cabang di rekening)

• Rekening terlibat dalamtransaksi:
o Table utama :rekening
o Table kedua : transaksi
o Relationship : One-to-many (1:n)
o Attribute penghubung : no_rekening (FK no_rekening di transaksi)

4. Gambar ER Diagram




Analisa : Dalam pembuatan rancangan database harus mengetahui apa saja entitas yang dibutuhkan dan atribut apa saja yang diperlukan. Dapat menentukan dan memahami relasi atau hubungan antar entitas, hal ini diperlukan saat pembuatan ER Diagram supaya dalam pembuatannya tidak terjadi kesalahan dalam pemetaan relasinya.
E. Tugas

1. Membuat rancangan database untuk menangani data-data kuliah. Mahasiswa boleh mengambil lebih dari satu mata kuliah, dan satu mata kuliah boleh diambil oleh lebih dari satu mahasiswa sekaligus (joint account).
Tahap 1: Penentuan Entitas
• mahasiswa: berisi data-data mahasiswa
• dosen: berisi data-data dosen
• mata_kuliah: berisi daftar mata kuliah
• ruang_kelas: daftar ruang kelas yang digunakan

Tahap 2: Penentuan Atribut
• mahasiswa:
o nim: nomor induk mahasiswa (integer) PK
o nama_mhs: nama lengkap mahasiswa (string)
o alamat_mhs: alamat lengkap mahasiswa (string)
• dosen:
o nip: nomor induk pegawai (integer) PK
o nama_dosen: nama lengkap dosen (string)
o alamat_dosen: alamat lengkap pdosen (string)
• mata_kuliah:
o kode_mk: kode mata kuliah (integer) PK
o nama_mk: nama lengkapmatakuliah (string)
o sks : jumlah sks mata kuliah (integer) PK
• ruang:
o kode_ruang: kode ruang kelas (string)
o kapasitas_ruang: daya tampung kelas (integer)PK

Tahap 3: Penentuan Relationships

Hubungan:
• mahasiswa mengambil mata_kuliah:
o Tabel utama: mahasiswa, mata_kuliah
o Tabel kedua: mahasiswa_ambil_mata_kuliah
o Relationship: Many-to-many (m:n)
o Attribute penghubung: nim, kode_mk (FK nim, kode_mk di mahasiswa_ambil_mata_kuliah)

• Mata_kuliah diambil mahasiswa :
o Tabel utama: mata_kuliah
o Table kedua: mahasiswa
o Relationship: One-to-many (1:n)
o Attribute penghubung: kode_mk (FK kode_mk di mahasiswa)

Tahap 4. Pembuatan ERD

2. Membuat rancangan database yang mengandung 4 buah entitas dengan mengambil contoh dari sembarang database.

Database karyawan perusahaan

Tahap 1. Penentuan Entitas :
• Karyawan : berisi data-data karyawan
• Ruang_kerja: meniyimpan data ruang kerja
• Cuti : berisi daftar cuti
• Fasilitas: berisi daftar fasilitas yang tersedia

Tahap 2. Penentuan Atribut :
• Karyawan:
o NPK : Nomor pokok karyawan (integer)PK
o Nama_karyawan : nama lengkap karyawan (string)
o Jabatan : status jabatan karyawan

• Ruang_kerja :
o Kode_ruang : nomor ruang kerja (integer)PK
o Lokasi_ruang : lokasi ruang kerja (String)

• Cuti :
o No_register : nomor registrasi cuti(integer)PK
o Jenis_cuti : jenis cuti yang diambil (string)
o Tanggal : waktu cuti (date/time)

• Fasilitas :
o No_register : nomor registrasi fasilitas (integer)PK
o Jenis_fasilitas: jenis fasilitas yang digunakan (string)

Tahap 3. Penentuan Relationship :
-


Hubungan :
• Karyawan menggunakan ruang_kerja :
o Tabel utama karyawan
o Tabel kedua : ruang_kerja
o Relationship : many-to-one (n:1)
o Attribute penghubung : npk (FK npk , no_rekening di ruang_kerja)

• Cuti diambil karyawan :
o Tabel utama : cuti
o Tabel kedua : karyawan
o Relationship : One-to-many (1:n)
o Attribute penghubung : no_register (FK no_register di karyawan)

• Karyawan memakai fasilitas :
o Tabel utama : karyawan , fasilitas
o Tabel kedua : karyawan_memakai_fasilitas
o Relationship : many-to-many (m:n)
o Attribute penghubung : npk, no_register (FK npk, no_register di karyawan_memakai_fasilitas)

Tahap 4. Pembuatan ERD


Selasa, 17 Maret 2015

Membuat Database Menggunakan MS Acces

MODUL 1 : PENGENALAN BASIS DATA 1

A. Tujuan
1. Mahasiswa dapat memahami beberapa jenis data base yang banyak di gunakan dalam membangun aplikasi.
2. Mahasiswa dapat memahami MS Acess

B. Landasan Teori
Data diperlukan dalam segala hal, baik berupa pengukuran, pencatatan, pengumpulan informasi, maupun pengambilan keputusan semuanya memerlukan data. dengan kata lain data sangat dibutuhkan karena informasi yang ada akan memberikan arti yang sangat penting baik untuk saat ini maupun untuk akan dating. Sehingga definisi dari data adalah informasi yang mengandung arti.
Data base terbentuk dari sekelompok data data yang memiliki jenis/sifat sama. Contohnya : data-data mahasiswa, data dosen, dll. Demikian juga kumpulan dari data-data mahasiswa, data-data dosen, data-data keuangan dan lainnya dapat dikumpulkan lagi menjadi kelompok besar, misalkan data-data politeknik elektronika. Maka di butuhkan lah data base yang berfungsi mengakomodasi data dalam jumlah yang besar.
Berikut ini terminology atau istilah yang dipergunakan dalam database :
• Database : sekumpulan data yang saling berhubungan untuk mencapai suatu tujuan.
• Data : fakta-fakta yang dapat disimpan dan mempunyai arti tertentu.
• Tabel : Tempat untuk menyimpan data, tabel terdiri dari field dan record
• Field : disebut juga dengan kolom, yaitu bagian tabel tempat menyimpan sebuah item data
• Record : disebut juga dengan baris, yaitu satu bagian informasi yang disimpan dalam tabel, missal data seorang mahasisiwa akan disimpan dalam record yang terdiri dari beberapa kolom/field.

C. Alat dan bahan
1. Komputer dengan system operasi windows
2. Program aplikasi MS Office 2007
3. Modul Praktikum Sistem Basis Data





D. Langkah-langkah Praktikum

Percobaan 1:

1. Membuka Ms Access


2. Kemudian simpan file dengan nama Akademik kemudian pilih create



3. Membuat Tabel dengan nama Mhs dan field baru




4. Kemudian isi table mhs minimal 10 baris (record) data teman-teman anda





5. Kemudian buat form untuk table mahasiswa kemudian menambahkan inputan baru pada table Mhs dengan menggunakan form



6. Berikut adalah tampilan table Mhs dengan inputan data yang baru






Percobaan 2

1. Membuat tabel baru dalam database Akademik dengan namaa Matkul dan mengisi beberapa field-field baru



2. Isi table dengan daftar mata kuliah




3. Buat form untuk tabel Matkul kemudian memberikan inputan data baru


4. Berikut adalah tampilan tabel Matkul dengan inputan data baru


E. Analisa Praktikum

Dalam pembuatan sebuah database,dalam pembuatan field terdapat 1 karakter yang unik, yakni field yang merupakan primary key. Dalam percobaan 1 dan 2, yang merupakan primary key adalah NIM mahasiswa dan Kode Matkul.


F. Tugas
1. Jelaskan mengapa dibutuhkan data!
Data diperlukan dalam segala hal, baik berupa pengukuran, pencatatan, pengumpulan informasi, maupun pengambilan keputusan semuanya memerlukan data. dengan kata lain data sangat dibutuhkan karena informasi yang ada akan memberikan arti yang sangat penting baik untuk saat ini maupun untuk akan dating. Sehingga definisi dari data adalah informasi yang mengandung arti.

2. Jelaskan manfaat database dan contohnya!
Data base terbentuk dari sekelompok data data yang memiliki jenis/sifat sama. Contohnya : data-data mahasiswa, data dosen, dll. Demikian juga kumpulan dari data-data mahasiswa, data-data dosen, data-data keuangan dan lainnya dapat dikumpulkan lagi menjadi kelompok besar, misalkan data-data politeknik elektronika. Maka di butuhkan lah data base yang berfungsi mengakomodasi data dalam jumlah yang besar. Contoh : Database Akademik ums (krs online)

3. Untuk menentukan jenis database yang digunakan, apa yang menjadi acuan dalam pemilihan database tersebut!
- Menentukan rancangan database terlebih dahulu secara manual
- Menentukan rancangan database terlebih dahulu menggunakan aplikasi

4. Jelaskan istilah terminology yang digunakan dalam database !
Database : sekumpulan data yang saling berhubungan untuk mencapai suatu tujuan.
Data : fakta-fakta yang dapat disimpan dan mempunyai arti tertentu.
Tabel : Tempat untuk menyimpan data, tabel terdiri dari field dan record
Field : disebut juga dengan kolom, yaitu bagian tabel tempat menyimpan sebuah item data
Record : disebut juga dengan baris, yaitu satu bagian informasi yang disimpan dalam tabel, missal data seorang mahasisiwa akan disimpan dalam record yang terdiri dari beberapa kolom/field.

5. Bandingkan perbedaan pengelolaan data secara manual dengan menggunakan database!
- Database lebih canggih daripada data secara manual
- Database lebih efisien dan tidak membutuhkan banyak tempat
- Database lebih cepat dalam pencarian data
- Database lebih mudah diakses dari pada data manual


6. Mengapa dibutuhkan DBMS?
DBMS adalah sebuah program yang memiliki fasilitas penyimpanan dan pemaggilan struktur informasi pada system computer. DBMS berfungsi menyimpan dan melalukan proses pembuatan dan pemaggilan database.

7. Pada percobaan diatas ada beberapa field yang tipe data dan ukuranya berbeda jelaskan!

Dalam pembuatannya field dibuat sesuai dengan kebutuhan tergantung tipe data yang diinputkan, baik berupa huruf atau angka dengan panjang karakter yang berbeda pula.

Minggu, 01 Maret 2015

Perangkat Lunak (Software)

Perangkat lunak adalah istilah umum untuk data yang diformat dan disimpan secara digital, termasuk program komputer, dokumentasinya, dan berbagai informasi yang bisa dibaca dan ditulis oleh komputer. Dengan kata lain, bagian sistem komputer yang tidak berwujud. Istilah ini menonjolkan perbedaan dengan perangkat keras komputer.

Pembuatan perangkat lunak itu sendiri memerlukan "bahasa pemrograman" yang ditulis oleh programmer untuk selanjutnya di kompilasi dengan aplikasi kompiler sehingga menjadi kode yang bisa dikenali oleh mesin hardware.

Di bawah ini ada beberapa contoh macam perangkat lunak, yaitu:

1. Perangkat Lunak Aplikasi
Perangkat lunak aplikasi (bahasa Inggris: software application) adalah suatu subkelas perangkat lunak komputer yang memanfaatkan kemampuan komputer langsung untuk melakukan suatu tugas yang diinginkan pengguna. Biasanya dibandingkan dengan perangkat lunak sistem yang mengintegrasikan berbagai kemampuan komputer, tapi tidak secara langsung menerapkan kemampuan tersebut untuk mengerjakan suatu tugas yang menguntungkan pengguna. Contoh utama perangkat lunak aplikasi adalah pengolah kata, lembar kerja, dan pemutar media.

Beberapa aplikasi yang digabung bersama menjadi suatu paket kadang disebut sebagai suatu paket atau suite aplikasi (application suite). Contohnya adalah Microsoft Office dan OpenOffice.org, yang menggabungkan suatu aplikasi pengolah kata, lembar kerja, serta beberapa aplikasi lainnya. Aplikasi-aplikasi dalam suatu paket biasanya memiliki antarmuka pengguna yang memiliki kesamaan sehingga memudahkan pengguna untuk mempelajari dan menggunakan tiap aplikasi. Sering kali, mereka memiliki kemampuan untuk saling berinteraksi satu sama lain sehingga menguntungkan pengguna. Contohnya, suatu lembar kerja dapat dibenamkan dalam suatu dokumen pengolah kata walaupun dibuat pada aplikasi lembar kerja yang terpisah.

Aplikasi dapat digolongkan menjadi beberapa kelas, antara lain:

Perangkat lunak perusahaan (enterprise)
Perangkat lunak infrastruktur perusahaan
Perangkat lunak informasi kerja
Perangkat lunak media dan hiburan
Perangkat lunak pendidikan
Perangkat lunak pengembangan media
Perangkat lunak rekayasa produk

2. Sistem Operasi
Sistem operasi (bahasa Inggris: operating system ; OS) adalah seperangkat program yang mengelola sumber daya perangkat keras komputer atau hardware, dan menyediakan layanan umum untuk aplikasi perangkat lunak. Sistem operasi adalah jenis yang paling penting dari perangkat lunak sistem dalam sistem komputer. Tanpa sistem operasi, pengguna tidak dapat menjalankan program aplikasi pada komputer mereka, kecuali program aplikasi booting. Sistem operasi mempunyai penjadwalan yang sistematis mencakup perhitungan penggunaan memori, pemrosesan data, penyimpanan data, dan sumber daya lainnya.

Untuk fungsi-fungsi perangkat keras seperti sebagai masukan dan keluaran dan alokasi memori, sistem operasi bertindak sebagai perantara antara program aplikasi dan perangkat keras komputer, meskipun kode aplikasi biasanya dieksekusi langsung oleh perangkat keras dan seringkali akan menghubungi OS atau terputus oleh itu. Contoh sistem operasi modern adalah Linux, Android, iOS, Mac OS X, dan Microsoft Windows

3. Pengendali Perangkat Keras
adalah istilah teknologi informasi yang mengacu kepada komponen perangkat lunak yang mengizinkan sebuah sistem komputer untuk berkomunikasi dengan sebuah perangkat keras. Sebagian besar perangkat keras, tidak akan dapat berjalan atau sama sekali tidak dapat berjalan tanpa driver yang cocok yang terinstal di dalam sistem operasi. Device driver, umumnya akan dimuat ke dalam ruangan kernel (kernelspace) sistem operasi selama proses booting dilakukan, atau secara sesuai permintaan (ketika ada intervensi pengguna atau memasukkan sebuah perangkat plug-and-play). Beberapa sistem operasi juga menawarkan device driver yang berjalan di dalam ruangan pengguna (userspace) sistem operasi. Beberapa driver telah dimasukkan ke dalam sistem operasi secara default pada saat instalasi, tapi banyak perangkat keras, khususnya yang baru, tidak dapat didukung oleh driver-driver bawaan sistem operasi. Adalah tugas pengguna yang harus menyuplai dan memasukkan driver ke dalam sistem operasi. Driver juga pada umumnya menyediakan layanan penanganan interupsi perangkat keras yang dibutuhkan oleh perangkat keras.

4. Perangkat Lunak Menetap
adalah istilah yang mengacu kepada rutin-rutin perangkat lunak yang disimpan di dalam Memori Hanya Baca. Tidak seperti Memori Akses Acak, MHB tidak akan dapat berubah meski tidak dialiri listrik. Rutin-rutin yang mampu menyalakan komputer (startup) serta instruksi input/output dasar (semacam BIOS atau sistem operasi embedded) disimpan di dalam perangkat tegar. Modifikasi memang dapat dilakukan, tetapi hal tersebut tergantung dari jenis ROM apa yang digunakan. perangkat tegar yang disimpan dalam ROM tidak dapat diubah, tetapi perangkat tegar yang disimpan dalam ROM yang dapat diubah semacam EEPROM atau Flash ROM, masih dapat diubah sesuka hati.

5. Perangkat Lunak Bebas
Perangkat lunak bebas adalah istilah yang diciptakan oleh Richard Stallman dan Free Software Foundation yang mengacu kepada perangkat lunak yang bebas untuk digunakan, dipelajari dan diubah serta dapat disalin dengan atau tanpa modifikasi, atau dengan beberapa keharusan untuk memastikan bahwa kebebasan yang sama tetap dapat dinikmati oleh pengguna-pengguna berikutnya. Bebas di sini juga berarti dalam menggunakan, mempelajari, mengubah, menyalin atau menjual sebuah perangkat lunak, seseorang tidak perlu meminta izin dari siapa pun.

Untuk menjadikan sebuah perangkat lunak sebagai perangkat lunak bebas, perangkat lunak tersebut harus memiliki sebuah lisensi, atau berada dalam domain publik dan menyediakan akses ke kode sumbernya bagi setiap orang. Gerakan perangkat lunak bebas (free software movement) yang merintis perangkat lunak bebas berawal pada tahun 1983, bertujuan untuk memberikan kebebasan ini dapat dinikmati oleh setiap pengguna komputer.

6. Perangkat Lunak Gratis
Perangkat lunak gratis adalah perangkat lunak komputer berhak cipta yang gratis digunakan tanpa batasan waktu, berbeda dari shareware yang mewajibkan penggunanya membayar (misalnya setelah jangka waktu percobaan tertentu atau untuk memperoleh fungsi tambahan). Para pengembang perangkat gratis seringkali membuat perangkat gratis "untuk disumbangkan kepada komunitas", namun juga tetap ingin mempertahankan hak mereka sebagai pengembang dan memiliki kontrol terhadap pengembangan selanjutnya. Kadang jika para pemrogram memutuskan untuk berhenti mengembangkan sebuah produk perangkat gratis, mereka akan memberikan kode sumbernya kepada pemrogram lain atau mengedarkan kode sumber tersebut kepada umum sebagai perangkat lunak bebas.

7. Perangkat Lunak Uji Coba
Perangkat lunak kongsi mengacu kepada perangkat lunak berpemilik yang disediakan untuk pengguna tanpa membayar secara uji coba dan sering di batasi oleh koombinasi dari fungsi, ketersedian, atau kenyamanan.

8. Perangkat Lunak Perusak
Perangkat perusak (malware, berasal dari lakuran kata malicious dan software) adalah perangkat lunak yang diciptakan untuk menyusup atau merusak sistem komputer, peladen atau jejaring komputer tanpa izin termaklum (informed consent) dari pemilik. Istilah ini adalah istilah umum yang dipakai oleh pakar komputer untuk mengartikan berbagai macam perangkat lunak atau kode perangkat lunak yang mengganggu atau mengusik.[1] Istilah 'virus computer' kadang-kadang dipakai sebagai frasa pemikat (catch phrase) untuk mencakup semua jenis perangkat perusak, termasuk virus murni (true virus).

Perangkat lunak dianggap sebagai perangkat perusak berdasarkan maksud yang terlihat dari pencipta dan bukan berdasarkan ciri-ciri tertentu. Perangkat perusak mencakup virus komputer, cacing komputer, kuda Troya (Trojan horse), kebanyakan kit-akar (rootkit), perangkat pengintai (spyware), perangkat iklan (adware) yang takjujur, perangkat jahat (crimeware) dan perangkat lunak lainnya yang berniat jahat dan tidak diinginkan.

Sumber : Wikipedia

Jumat, 03 Oktober 2014

Siklus Instruksi CPU

STRUKTUR KOMPUTER

1. Register-register internal CPU:
Memory Buffer Register (MBR) atau Memory Data Register (MDR) :
berisi sebuah word yang akan disimpan di dalam memori, atau digunakan
untuk menerima word dari memori.
2. Memory Address Register (MAR) : menentukan alamat di memori yang
isinya akan diambil ke MBR atau yang akan diisi dengan data yang
terdapat di MBR.
3. Instruction Register (IR) : tempat menampung instruksi yang akan
dieksekusi.
4. Program Counter (PC) : menyimpan alamat instruksi berikutnya yang
akan diambil dari memori.
5. Accumulator : digunakan untuk menyimpan sementara operand dan hasil
operasi ALU.

Data Fungsi Komputer

1. Fungsi dasar yang dibentuk komputer adalah eksekusi program.
2. Program yang akan dieksekusi terdiri dari instruksi-instruksi yang
tersimpan di dalam memori.
3. Proses eksekusi instruksi terdiri dari 2 langkah :
4. Pengambilan instruksi dari memori ke CPU (siklus pengambilan). Proses eksekusi instruksi di CPU (siklus eksekusi).
5. Eksekusi program merupakan perulangan siklus pengambilan dan siklus
eksekusi.

Siklus Instruksi Dasar
1. Eksekusi program akan terhenti apabila komputer dimatikan, terjadi
kesalahan, atau terdapat instruksi yang menghentikan komputer.
2. Mengambil instruksi berikutnya Eksekusi instruksi Siklus Pengambilan (Fetch Cycle) & Siklus Eksekusi (Execute Cycle)
3. Pada awal setiap siklus instruksi, CPU membaca instruksi dari memori.
4. Sebuah register yang disebut Program Counter (PC) digunakan untuk
menunjukkan alamat instruksi yang akan diambil dari memori.
5. Setiap kali sebuah instruksi dibaca, isi PC akan ditambah sehingga CPU
akan membaca instruksi selanjutnya secara berurutan.
6. Instruksi yang dibaca akan dimuatkan ke sebuah register di dalam CPU
yang disebut Instruction register (IR).
7. Selanjutnya CPU menginterpretasikan instruksi dan melakukan aksi yang
diperlukan.

Register internal CPU :

· Program Counter (PC) = menyimpan alamat instruksi
· Instruction Register (IR) = menampung instruksi yang sedang
dieksekusi
· Accumulator (AC) = register penyimpanan temporer

Kode atau instruksi :
· 0001 = Isi memori, yang alamatnya dinyatakan pada bit 4 sampai bit
15 pada format instruksi, disalinkan ke Accumulator.
· 0010 = Simpan isi accumulator ke memori, yang alamatnya
dinyatakan pada bit 4 sampai bit 15.
· 0101 =Tambahkan isi AC dengan isi memori, yang alamatnya
dinyatakan pada bit 4 sampai bit 15.

Kumpulan register :
· 9 Memory Buffer Register (MBR)
· 9 Memory Address Register (MAR)
· 9 Instruction Register (IR)
· 9 Instruction Buffer Register (IBR): digunakan untuk menyimpan
sementara instruksi sebelah kanan word di dalam memori.
· 9 Program Counter (PC)
· 9 Accumulator dan Multiplier -Ouotient (MQ) : digunakan untuk
menyimpan sementara operand dan hasil operasi ALU.

Pada IAS, setiap siklus instruksi terdiri dari dua subsiklus. Selama siklus
pengambilan, op code instruksi berikutnya dimuatkan ke IR dan alamat
dimuatkan ke MAR. Instruksi ini dapat diambil dari IBR atau dapat
diperoleh dari memori dengan cara memuatkan sebuah word ke dalam
MBR, dan kemudian diturunkan ke IBR, IR dan MAR.

sumber :
http://indradwiantoro.blogspot.com/2010/10/tugas-organisasi-arsistektur-komputer.html

Minggu, 28 September 2014

Perbedaan Arsitektur von-Neumann dan Havard

ARSITEKTUR von - Neumann dan Havard

Semua mikrokontroler menggunakan satu diantara dua model rancangan yang dinamakan arsitektur Harvard dan von-Neumann. Berikut secara singkat, perbedaan keduanya dilihat dari pertukaran data antara CPU dan memori.

Arsitektur von-Neumann




Mikrokontroler yang menggunakan arsitektur ini hanya memiliki satu blok memori dan satu bus data 8-bit. Karena pertukaran data semuanya menggunakan 8 jalur ini, bus akan overload dan komunikasi menjadi sangat lambat dan tidak efisien. Sebaliknya CPU dapat membaca instruksi atau baca/tulis data dari/ke memori. Keduanya tidak dapat terjadi secara bersamaan karena data dan instruksi menggunakan sistem bus yang sama. Misalnya, jika sebuah baris program memerintahkan register memori RAM dengan nama “SS” harus dinaikkan satu (misalnya menggunakan instruksi: inc SS), maka mikrokontroler akan melakukan:
1. Baca bagian dari instruksi program yang menyatakan APA yang harus dilakukan (dalam kasus ini adalah instruksi “inc” untuk perintah kenaikkan);
2. Baca lebih lanjut dari instruksi ini yang menyatakan data YANG MANA yang akan dinaikkan (alam kasus ini adalah register “SS”);
3. Setelah dinaikkan, isi dari register ini harus dituliskan kembali ke register yang sebelumnya telah dibaca
Bus data yang sama digunakan untuk keseluruhan operasi ini…
Pada arsitektur Von Neumann, program dan data dibagi pada ruang memori yang sama. Arsitektur Von Neumann menyediakan fitur penyimpanan dan modifikasi program secara mudah. Bagaimanapun, penyimpanan program tidak mungkin optimal dan membutuhkan berbagai pengumpulan program dan data untuk membentuk instruksi. Pengumpulan program dan data diselesaikan menggunakan time division multiplexing yang akan berpengaruh pada performa mikrokontroler itu sendiri. Salah satu contoh mikrokontroler yang menggunakan arsitektur Von Neumann (princeton) adalah Motorola 68HC11.


Keuntungan arrrsitektur Von Neumann :
1. Fleksibilitas pengalamatan program dan data. Biasanya program selalu ada di ROM dan data selalu ada di RAM. Arsitektur Von Neumann memungkinkan prosesor untuk menjalankan program yang ada didalam memori data (RAM). Misalnya pada saat power on, dibuat program inisialisasi yang mengisi byte di dalam RAM. Data di dalam RAM ini pada gilirannya nanti akan dijalankan sebagai program. Sebaliknya data juga dapat disimpan di dalam memori program (ROM). Contohnya adalah data look-up-table yang ditaruh di ROM. Data ini ditempatkan di ROM agar tidak hilang pada saat catu daya mati. Pada mikroprosesor Von Neumann, instruksi yang membaca data look-up-table atau program pengambilan data di ROM, adalah instruksi pengalamatan biasa. Sebagai contoh, pada mikrokontroler 8bit Motorola 68HC11.
2. Dengan arsitektur Von Neuman prosesor tidak perlu membedakan program dan data. Prosesor tipe ini tidak memerlukan control bus tambahan berupa pin I/O khusus untuk membedakan program dan data. Karena kemudahan ini, tidak terlalu sulit bagi prosesor yang berarsitektur Von Neumann untuk menambahan peripheral eksternal seperti A/D converter, LCD, EEPROM dan devais I/O lainnya. Biasanya devais eksternal ini sudah ada di dalam satu chips, sehingga prosesor seperti ini sering disebut dengan nama mikrokontroler (microcontroller).
Kelemahan Asrsitektur Von Neumann:
Arsitektur Von Neumann bukan tidak punya kelemahan, diantaranya adalah bus tunggalnya itu sendiri. Sehingga instruksi untuk mengakses program dan data harus dijalankan secara sekuensial dan tidak bisa dilakukan overlaping untuk menjalankan dua isntruksi yang berurutan. Selain itu bandwidth program harus sama dengan banwitdh data. Jika memori data adalah 8 bits maka program juga harus 8 bits. Satu instruksi biasanya terdiri dari opcode (instruksinya sendiri) dan diikuti dengan operand (alamat atau data). Karena memori program terbatas hanya 8 bits, maka instruksi yang panjang harus dilakukan dengan 2 atau 3 bytes. Misalnya byte pertama adalah opcode dan byte berikutnya adalah operand. Secara umum prosesor Von Neumann membutuhkan jumlah clock CPI (Clock per Instruction) yang relatif lebih banyak dan walhasil eksekusi instruksi dapat menjadi relatif lebih lama.


Arsitektur Harvard


Mikrokontroler yang menggunakan arsitektur ini memiliki dua bus yang berbeda. Satu bus 8-bit dan menghubungkan CPU ke RAM. Yang lain terdiri dari beberapa jalur (12, 14 atau 16) dan menghubungkan CPU ke ROM. Dengan demikian, CPU dapat membaca instruksi dan mengakses memori data pada saat yang bersamaan. Karena semua register memori RAM lebarnya 8-bit, semua pertukaran data dalam mikrokontroler menggunakan format yang sama, sehingga selama eksekusi penulisan data, hanya 8-bit yang diperhatikan. Dengan kata lain, yang perlu Anda perhatikan saat merancang program adalah lebar data yang bisa dipertukarkan atau diproses hanya selebar 8-bit, ya hanya selebar 8-bit saja.
Program yang Anda buat untuk beberapa mikrokontroler ini akan tersimpan di dalam ROM internal (Flash ROM) setelah dilakukan kompilasi ke bahasa mesin. Lokasi memori ini dinyatakan dalam 12, 14 atau 16-bit. Sebagian dari bit, 4, 6 atau 8-bit digunakan sebagai instruksinya sendiri dan diikuti dengan data 8-bit.
Arsitektur Havard menggunakan memori terpisah untuk program dan data dengan alamat dan bus data yang berdiri sendiri. Karena dua perbedaan aliran data dan alamat, maka tidak diperlukanmultiplexing alamat dan bus data. Arsitektur ini tidak hanya didukung dengan bus paralel untuk alamat dan data, tetapi juga menyediakan organisasi internal yang berbeda sedemikian rupa instruksi dapat diambil dan dikodekan ketika berbagai data sedang diambil dan dioperasikan. Lebih lanjut lagi, bus data bisa saja memiliki ukuran yang berbeda dari bus alamat. Hal ini memungkinkan pengoptimalan bus data dan bus alamat dalam pengeksekusian instruksi yang cepat. Sebagai contoh, mikrokontroler Intel keluarga MCS-51 menggunakan arsitektur Havard karena ada perbedaan kapasitas memori untuk program dan data, dan bus terpisah (internal) untuk alamat dan data. Begitu juga dengan keluarga PIC dari Microchip yang menggunakan arsitektur Havard.


Pada mikrokontroler dengan arsitektur Harvard, bus program biasanya lebih dari 1 byte, yang membolehkan masing-masing word mengandung instruksi dan data, dengan kata lain satu word - satu instruksi.
Kelebihan-kelebihan:
• Semua data di dalam program selebar 1 byte (8-bit). Karena bus data yang digunakan dalam pembacaa program memiliki beberapa jalur (12, 14 atau 16), instruksi dan data dapat dibaca dibaca sekaligus. Dengan demikian, semua instruksi dapat dieksekusi hanya dengan satu siklus instruksi, kecuali instruksi lompat (jump) yang dieksekusi dalam dua siklus.
• Kenyataan bahwa program (ROM) dan data sementara (RAM) terpisah, CPU dapat mengeksekusi dua instruksi sekaligus. Gampangnya, selama proses pembacaan dan penulisan RAM (akhir dari suatu instruksi), instruksi berikutnya dibaca melalui bus yang lain.
• Jika menggunakan mikrokontrole menggunakan arsitektur Von-Neumann kita tidak bisa tahu seberapa banyak memori yang dibutuhkan oleh beberapa instruksi. Pada dasarnya, masing-masing instruksi program membutuhkan dua lokasi memori (satu mengandung instruksi APA yang harus dilakukan, sedangkan sisanya mengandung informasi data YANG MANA akan diproses).
Kekurangan :
Arsitektur Harvard tidak memungkinkan untuk menempatkan data pada ROM. Kedengarannya aneh, tetapi arsitektur ini memang tidak memungkinkan untuk mengakses data yang ada di ROM. Namun hal ini bisa diatasi dengan cara membuat instruksi dan mekanisme khusus untuk pengalamatan data di ROM. Mikroprosesor yang memiliki instruksi seperti ini biasanya disebut ber-arsitektur Modified Harvard. Instruksi yang seperti ini dapat ditemukan pada keluarga MCS-51 termasuk Intel 80C51, P87CLXX dari Philips dan Atmel AT89LSXX

Perbedan Arsitektur Von Neumann dengan Arsitektur Harvard:
Arsitektur Von Neumann adalah arsitektur komputer yang menempatkan program (ROM=Read Only Memory) dan data (RAM=Random Access Memory) dalam peta memori yang sama. Arsitektur ini memiliki address dan data bus tunggal untuk mengalamati program (instruksi) dan data. Contoh dari mikrokontroler yang memakai arsitektur Von Neumann adalah keluarga 68HC05 dan 68HC11 dari Motorola.
Sebaliknya, arsitektur Harvard memiliki dua memori yang terpisah satu untuk program (ROM) dan satu untuk data (RAM). Intel 80C51, keluarga Microchip PIC16XX, Philips P87CLXX dan Atmel AT89LSXX adalah contoh dari mikroprosesor yang mengadopsi arsitektur Harvard. Kedua jenis arsitektur ini masing-masing memiliki keungulan tetapi juga ada kelemahannya.Dengan arsitektur Von Neuman prosesor tidak perlu membedakan program dan data. Prosesor tipe ini tidak memerlukan control bus tambahan berupa pin I/O khusus untuk membedakan program dan data. Karena kemudahan ini, tidak terlalu sulit bagi prosesor yang berarsitektur Von Neumann untuk menambahan peripheral eksternal seperti A/D converter, LCD, EEPROM dan devais I/O lainnya. Biasanya devais eksternal ini sudah ada di dalam satu chips, sehingga prosesor seperti ini sering disebut dengan nama mikrokontroler (microcontroller).

APA ITU x86 dan x64?

x86 atau 80x86 adalah nama umum dari arsitektur mikroprosesor yang pertama kali dikembangkan dan diproduksi oleh Intel. Arsitektur x86 saat ini mendominasi komputer desktop, komputer portabel, dan pasar server sederhana.


Arsitektur ini dikenal dengan nama x86 karena prosesor-prosesor awal dari keluarga arsitektur ini memiliki nomor model yang diakhiri dengan urutan angka "86": prosesor 8086, 80186, 80286, 386, dan 486. Karena nomor tidak bisa dijadikan merek dagang, Intel akhirnya menggunakan kata Pentium untuk merek dagang processor generasi kelima mereka.
Arsitektur ini telah dua kali diperluas untuk mengakomodasi ukuran word yang lebih besar. Pada tahun 1985, Intel mengumumkan rancangan generasi 386 32-bit yang menggantikan rancangan generasi 286 16-bit. Arsitektur 32-bit ini dikenal dengan nama x86-32 atau IA-32 (singkatan dari Intel Architecture, 32-bit). Kemudian pada tahun 2003, AMD memperkenalkan Athlon 64, yang menerapkan secara lebih jauh pengembangan dari arsitektur ini menuju ke arsitektur 64-bit, dikenal dengan beberapa istilah x86-64, AMD64 (AMD), EM64T atau IA-32e (Intel), dan x64 (Microsoft).
Arsitektur x86 adalah rancangan Set Instruksi Komputer Kompleks (Complex Instruction Set Computer) dengan panjang instruksi yang bervariasi. Word disimpan dengan urutanendian-kecil. Kompatibilitas mundur menjadi motivasi terkuat dalam pengembangan arsitektur x86 (keputusan ini menjadi sangat penting dan sering dikritik, terutama oleh pesaing dari pendukung arsitektur prosesor lainnya, yang dibuat frustasi oleh sukses yang berkelanjutan dari arsitektur ini yang secara umum dipandang memilki banyak kelemahan). Prosesor-prosesor terkini dari x86 menerapkan beberapa langkah penerjemah (dekoder) "tambahan" untuk (saat eksekusi) memecah (sebagian besar) instruksi x86 kedalam potongan-potongan kecil instruksi (dikenal dengan "micro-ops") yang selanjutnya dieksekusi oleh arsitektur setara dengan arsitektur RISC.
Bahasa rakitan dari x86 dibahas secara lebih terperinci di artikel Bahasa Rakitan x86.
Mikroprosesor x86 dapat bekerja dalam beberapa modus berikut:
• Real-mode (Modus Real)
• Protected Mode (Modus terproteksi)
• Virtual Protected Mode (Modus Terproteksi Virtual)
• Compatibility Mode
• Long Mode/IA32e Full Mode

Jadi.. istilah x86 secara umum digunakan untuk mengacu pada semua sistem (prosesor) yang merupakan keturunan dari IBM 8086 (keluarga x86) apakah itu 286, 386, 486, Pentium, Athlon, dll baik 32 bit maupun 64 bit. Prosesor yang tidak termasuk x86 antara lain adalah PowerPC, ARM dan Sparc.
Untuk istilah ‘x32′ dan ‘x64′ langsung saja saya jelaskan. Saat kita download atau install Sistem Operasi, Aplikasi atau Driver terkadang juga ada istilah x32 dan x64. Berikut adalah arti dari pilihan-pilihan tersebut:
x32 : Bisa berarti Prosesor 32 bit atau Sistem Operasi (Operating System / OS) 32 bit. Sistem Operasi 32 bit adalah untuk Prosesor 32 bit yang biasanya juga tetap bisa berjalan baik pada Prosesor 64 bit walaupun tidak maksimal.
x64 : Bisa berarti Prosesor 64 bit atau Sistem Operasi (Operating System / OS) 64 bit. Sistem Operasi 64 bit hanya dapat digunakan pada Prosesor 64 bit.

ARSITEKTUR ARM

Arsitektur ARM merupakan arsitektur prosesor 32-bit RISC yang dikembangkan oleh ARM Limited. Dikenal sebagai Advanced RISC Machine dimana sebelumnya dikenal sebagai Acorn RISC Machine. Pada awalnya merupakan prosesor desktop yang sekarang didominasi oleh keluarga x86. Namun desain yang sederhana membuat prosesor ARM cocok untuk aplikasi berdaya rendah. Hal ini membuat prosesor ARM mendominasi pasar mobile electronic dan embedded system dimana membutuhkan daya dan harga yang rendah.
Pada tahun 2007, sekitar 98% dari satu miliar mobile phone yang terjual menggunakan setidaknya satu buah prosesor ARM. Dan pada tahun 2009, prosesor ARM mendominasi sekitar 90% dari keseluruhan pasar prosesor 32-bit RISC. Prosesor ARM digunakan di berbagai bidang seperti elektronik umum, termasuk PDA, mobile phone, media player, music player, game console genggam, kalkulator dan periperal komputer seperti hard disk drive dan router.
Lisensi arsitektur ARM dimiliki oleh Alcatel, Atmel, Broadcom, Cirrus Logic, Digital Equipment Corporation, Freescale, Intel melalui DEC, LG, Marvell Technology Group, NEC, NVIDIA, NXP Semiconductors, OKI, Quallcomm, Samsung, Sharp, ST Microelectronics, Symbios Logic, Texas Instruments, VLSI Technology, Yamah dan ZiiLABS.


sumber :
http://wikipedia.com
http://fhanietnick.blogspot.com/2011/10/arsitektur-von-neumann-vs-harvard.html
http://blog.mukti-online.com/apakah-arti-x86-x32-dan-x64-dalam-istilah-komputer/