Translate

Rabu, 14 Januari 2015

Client/Server Software Engineering

Arsitektur Client Server mendominasi sistem komputer kebanyakan dari ATM sampai internet ada karena software yang berada di satu komputer – client , meminta servis atau data dari komputer lainnya – server . Arsitektur Client/Server , menggabungkan prinsip konvensional , konsep dan metode dari Object-Oriented dan Component based Software engineering .

Struktur dari Sistem Client/Server

Arsitektur Client/Server tidak mengimplementasikan suatu software sebagai suatu aplikasi monolitik yang hanya diterapkan pada satu mesin , sehingga arsitektur c/s membutuhkan lebih dari satu mesin untuk diterapkan . Arsitektur c/s juga memiliki beberapa subsistem yang berbeda yang dapat dialokasikan ke client , ke server ataupun ke kedua mesin :

User Interaction / Presentation Subsistem .Subsistem ini mengimplemetasikan semua fungsi yang tergabung dalam Graphical User Interface , Gunanya untuk berinteraksi dengan user dan terletak di client .

Application subsystem
Subsistem ini mengimplementasikan requirement yang didefiniskan aplikasi dengan konteks dari domain dimana aplikasi tersebut beroperasi . Contohnya , aplikasi bisnis bisnis memproduksi berbagai macam laporan cetak yang berdasarkan input numeric , kalkulasi , informsai database dan sumber – sumber yang lainnya .

Database Management Subsistem
Subsistem ini melakukan pemanipulasian data dan manajemen yang harus di lakukan oleh sebuah aplikasi .


Distribusi dari Komponen Software
Setelah requirement dari aplikasi c/s ditentukan , maka Perancang Software harus menentukan bagaimana pendistribusian komponen software yang dibutuhkan oleh client dan server secara tepat 

Desain Database
Sebuah RDBMS dapat dijadikan sebagai solusi untuk desain database . RDBMS dapat mendistribusikan data dengan mudah lewat SQL.  

distribusi data dan teknik memanaje tersedia untuk desainer , antara lain :

· Manual extract : User diperbolehkan untuk mengcopy secara manual data yang diinginkan dari server ke client . Pendekatan ini sangat berguna apabila data statis diperlukan dan kontrol dari pengekstrakan dapat dihandle oleh user .

· Snapshot : teknik ini mengotomatisasi manual extract dengan menentukan sebuah “snapshot” dari data yang harus di transfer dari server ke client pada interval yang telah ditentukan . Pendekatan ini sangat berguna untuk mendistribusikan data statis yang jarang diupdate .

· Replication : teknik ini dapat digunakan apabila banyak kopi dari data harus dijaga pada situs yang berbeda (contoh : antara server yang berbeda atau antara client dan server) , disini level kompleksitas meningkat karena konsistensi data , update , keamanan , dan pemrosean harus di koordinasi pada banyak situs .


· Fragmentation : Pada pendekatan ini , sistem database di fragmentasi lewat beberapa mesin

Kamis, 04 Desember 2014

SYSTEM REAL-TIME

SYSTEM REAL-TIME
Real time system (Sistem waktu nyata) Sistem yang harus menghasilkan respon yang tepat dalam batas waktu yang telah ditentukan. Sebuah Real time system adalah sistem yang kebenarannya secara logis didasarkan pada kebenaran hasil-hasil keluaran sistem dan ketepatan waktu hasil-hasil tersebut dikeluarkan. Aplikasi penggunaan sistem seperti ini adalah untuk memantau dan mengontrol peralatan seperti motor, assembly line, teleskop, atau instrumen lainnya. Peralatan telekomunikasi dan jaringan komputer biasanya juga membutuhkan pengendalian secara Real time.

Berdasarkan batasan waktu yang dimilikinya, Real time system ini dibagi atas:
1. Hard Real time
2. Soft Real time 
3. Firm Real time

Komponen dari Real time system ini adalah:
1. Perangkat keras
2. Sistem Operasi Real time
3. Bahasa Pemrograman Real time
4. Sistem Komunikasi

Karakteristik System Real Time
Biasanya merupakan embedded system
Biasanya membutuhkan pemrosesan konkuren untuk sejumlah input yang masuk,sehingga perlu didefinisikan sejumlah task untuk memrosesnya, serta perlu strategi khusus untuk menjadwalkan eksekusi setiap task
Harus bisa menangani input yang sinkron maupun asinkron
Punya kebutuhan yang tinggi terhadap reliability dan safety, sehingga fault tolerance dan exception handling jadi hal yang penting
Seringkali melibatkan berbagai hardware sehingga ada kebutuhan untuk mendefinisikan antarmuka yang baik

Elemen Real Time System umumnya terdiri dari:
1. Sensor control processes; yaitu proses yang menerima input dari berbagai sensor
2. Data processor; yaitu proses yang akan melakukan komputasi terhadap data-data yang diterima dari berbagai sensor
3. Actuator control processes; yaitu proses yang akan membangkitkan sinyal untuk berbagai actuator

Manfaat System Real Time:
Sistem waktu nyata keras menjamin bahwa proses waktu nyata dapat diselesaikan
dalam batas waktu yang telah ditentukan. Contoh : sistem safety-critical.
Sistem waktu nyata banyak digunakan dalam bermacam-macam aplikasi. Sistem
waktu nyata tersebut dapat pula ditanam di dalam alat khusus seperti di kamera,
mp3 players, serta di pesawat dan mobil.
Real time juga berguna untuk pengendali reaktor nuklir atau sistem pengendali rem
mobil. Juga sering dijumpai pada peralatan medis, peralatan pabrik, peralatan untuk
riset ilmiah, dan sebagainya.

Tujuan System Real Time:
Bertujuan untuk menyelesaikan masalah dengan waktu tertentu dan proses waktu
nyata dapat diselesaikan dalam waktu tertentu.
 _____________________________________________________________________________________

Sistem Hard Real-Time (HRTS)

Contoh Pengontrolan Temperatur blower dan pada sistem pengontrol pesawat terbang.Dalam hal ini, keterlambatan sama sekali tidak boleh terjadi,karena dapat berakibat tidak terkontrolnya pesawat terbang. Nyawa penumpang yang ada dalam pesawat tergantung dari sistem ini, karena jika sistem pengontrol tidak dapat merespon tepat waktu, maka dapat menyebabkan kecelakaan yang merenggut korban jiwa.

Sistem Soft Real-Time (SRTS)

Contoh Pengambilan uang di ATM dan alat penjual/pelayan otomatis. Jika mesin yang menggunakan sistem ini telah lama digunakan, maka mesin tersebut dapat mengalami penurunan kualitas,misalnya waktu pelayanannya menjadi lebih lambat dibandingkan ketika masih baru. Keterlambatan pada sistem ini tidak menyebabkan kecelakaan atau akibat fatal lainnya, melainkan hanya menyebabkan kerugian keuangan saja. Jika pelayanan mesin menjadi lambat, maka para pengguna dapat saja merasa tidak puas dan akhirnya dapat menurunkan pendapatan pemilik mesin. Setelah batas waktu yang diberikan telah habis, pada sistem hard realtime,aplikasi yang dijalankan langsung dihentikan. Akan
tetapi, pada sistem softreal-time, aplikasi yang telah habis masa waktu pengerjaan tugasnya,dihentikan secara bertahap atau dengan kata lain masih diberikan toleransi waktu.Mengimplementasikan fungsi soft real-time membutuhkan design yang hati-hati dan aspek yang berkaitan dengan sistem operasi. Pertama,sistem harus punya prioritas penjadualan, dan proses real-time harus memiliki prioritas tertinggi, tidak melampaui waktu,walaupun prioritas non real-time dapat terjadi.Kedua, dispatch latency harus lebih kecil.Semakin kecil latency, semakin cepat real-time proses mengeksekusi. Untuk menjaga dispatch
tetap rendah, kita butuh agar system call untuk preemptible.

Semi Hard Real-Time System (HRTS) atau Semi Soft Real-Time ( SRTS )
Metoda ini merupakan gabungan antara Semi Hard Real-Time System (HRTS) atau Semi
Soft Real-Time ( SRTS ). Dengan demikian waktu deadlinenya lebih pendek jika dibandingkan
dengan soft real-time ( SRTS ).

Interaktif Deadline ( Waktu Deadlinenya Bisa Ditawar )
Pada interaktif real-time, maka waktu deadlinennya bisa ditawar, artinya tidak secara
mutlak pada titik tertentu, tetapi tergantung dari kesepakatan yang ditentukan dan fleksibel.

Intelligence RTS

 Metode ini biasanya menggunakan Expert Systems / Kecerdasan buatan / Artifial Inteligence atau Kendali Cerdas.

Kamis, 20 November 2014

reserve engineering

Reverse engineering




Pengertian

•“Reverse Engineering” adalah suatu teknik yang banyak digunakan oleh hacker dan cracker untuk menembus suatu program ataupun sistem yang terkunci.
Contohnya , suatu program yang mempunyai aktivasi key, ataupun program trial.

Manfaat reverse engineering :
•sebagai alat pembelajaran
•untuk dapat membuat produk baruyang lebih kompatible danlebihmurah
•membuat suatu perangkat lunak lebih efektif dan menjembatani berbagai macam sistem operasi atau database.
•menguak fitur yang tidak terkoordinasi(tidakteratur) dalam suatu produk komersial.

Tujuan
•masalah kualitas (quality issues): menyederhanakan perangkat lunak yang rumit, meningkatkan kualitas perangkat lunak yang mengandung kesalahan, penghapusan efek samping dari perangkat lunak, dll.
•masalah pengelolaan (management issues):membuat standar pemrograman, memfasilitasi teknik manajemen pemeliharaan perangkat lunak dengan lebih baik, dan sebagainya.
•Masalah teknis (technical issues):memungkinkan perubahan dalam perangkat lunak, menemukan dan merekam desain sistem, menemukan dan merepresentasikan model bisnis yang ada dalam perangkat lunak, dll.

Alasan Melakukan Reverse Code Engineering
* Pembuatan ulang dokumentasi, apabila dokumentasi dari sebuah aplikasi hilang
* Cracking, ataupembajakanaplikasi
* Audit keamanan
* Mempelajari aplikasi malware, untuk kepentingan antisipasi serangan
* Analisa produk
* Mencari data sensitif pada sebuah sistem
* Keperluan militer, seperti mata-mata menggunakan software.

Keuntungan
a. Waktu yang digunakan dalam pemeliharaan sistem bisa dikurangi
b. Dokumentasi, yang sebelumnya belumada atau hanya minimal untuk program lama, bisa dilakukan
c. Menciptakan program terstruktur dari program tak terstruktur atau kode komputer terstruktur yang tidak tepat
d. Perubahan-perubahan yang terjadi dalam pemeliharaan di masa datang lebih mudah dibuat
e. Analisis bisa ditampilkan atas sistem untuk mengurangi bagian yang tidak perlu dari kode komputer

Kerugian
a. Masalah kepemilikan. Suatu pihak dapat menyalin karya asli dan mengaku karya tersebut sebagai miliknya. Pemilik asli tidak dapat memberikan bantahan karena tidak ada bukti yang otentik menandakan kepemilikan. 
b. Pelanggaran copyright. Merupakan penyalinan yang tidak berijin sehingga mengakibatkan kerugian dari pencipta karya karena tidak diperolehnya royalti apapun dari penggandaan tersebut. c. Masalahkeaslian. Karya digital dapat dengan mudah diubah, sehingga dapat menyebabkan hilangnya atau berubahnya data-data yang penting darisebuah karya.


Kamis, 01 Mei 2014

Pengantar Desain Web

PEMAHAMAN DASAR WEBSITE
A. PENGANTAR DESAIN WEB

1. Desain Web

Desain web adalah seni dan proses dalam menciptakan halaman web tunggal atau keseluruhan.
Sebagian dari aspek yang mungkin tercakup pada desain web atau produksi web adalah
menciptakan animasi dan grafik, pemilihan font, pemilihan warna, navigasi, isi. Desain web juga
menggabungkan pada seni programing dan pengembangan e-commerce. Desain web adalah
suatu format penerbitan elektronik.
Desain web sangat melibatkan estetika dan mood. Estetika berasal dari bahasa Yunani
aisthesis, yang kemudian dipopulerkan oleh Alexander Gottlieb Baungarten(1714-1762) dengan
nama aesthetica. Secara sederhana estetika bisa diartikan sebagai seni keindahan yang
mempengaruhi kenyamanan pengguna secara visual karena karya seni yang memenuhi nilainilai
estetika akan tampak lebin indah dan mudah dicerna.
Mood adalah dasar dari sebuah desain untuk memberikan pesan kepada pengunjung mengenai
perasaan dari situs tersebut. Beberapa elemen dalam situs yang mengekspresikan mood
ditampilkan melalui warna, teks, layout, gambar/grafis, dan efek-efek pendukung lainnya.
Target pengunjung adalah langkah awal penentuan dari mood yang akan dihadirkan pada
sebuah situs.


2. WWW (World Wide Web)
WWW adalah kependekan dari World Wide Web, atau lebih dikenal dengan nama web. Web
adalah sebuah layanan yang didapat oleh pemakai komputer apabila komputernya tersambung
dengan internet. Dengan web, pengguna komputer diseluruh dunia dapat saling berinteraksi
dengan pengguna internet lainnya tanpa harus beranjak dari tempat dimana internet itu
diakses. Dengan akses internet maka pengguna layanan internet dapat dengan mudah
memperoleh informasi yang diinginkan, bahkan dapat menyimpan program, atau gambar yang
ditampilkan dari media internet.
Web merupakan suatu ruangan yang dapat menampung informasi dalam jaringan Internet
pada sebuah browser, dengan menambahkan kemampuan untuk mengolah kode-kode tertentu
yang secara umum dinamakan tag-tag (delimiter) dan kemampuan untuk dapat meloncat (link)
dari halaman satu ke halaman lainnya dan kemampaun untuk pengolah sebuah gambar, suara,
animasi, bahkan pengolahan database dari sebuah aplikasi berbasis web.

Pada perkembangan selanjutnya, web lebih banyak dikenal dengan nama Internet, karenakemampuan dari interface web yang dapat mengelolah layanan-layanan yang terdapat padainternet.

3. Cara Kerja WWW
Gambar 1. Cara kerja WWW


Penjelasan Cara Kerja WWW
1. Informasi – informasi yang dibuat disimpan dalam sebuah dokumen web pages pada
sebuah tempat penyimpanan, yaitu hardisk.
2. Dokumen web yang disimpan dalam sebuah harddisk terletak pada web server apabila
komputer yang dimaksud telah dilengkapi dengan web server seperti IIS, PWS atau
Apache Server. Dalam hal ini komputer bertugas sebagai server sekaligus menyimpan
informasi.
3. Komputer yang bertugas sebagai client membaca informasi yang terdapat pada web
pages melalui sebuah jaringan internet dengan mengambil informasi yang tersimpan
pada komputer server.
4. Komputer client menampilkan halaman web dengan menggunakan sebuah program
khusus, yaitu browser.

4. Browser Web
Browser web adalah program yang digunakan untuk menampilkan informasi dari suatu halaman
web yang tersimpan dalam komputer. Dengan menerapkan Grafik User Interface (GUI), maka
para pengguna internet dengan mudah mengakses informasi-informasi yang terdapat pada
internet.

Cara Kerja Browser Web

1. Browser web mengambil sebuah informasi melalui jaringan internet pada sebuah server
web dengan perintah request.
2. Server web memberikan umpan balik atau feedback, dengan memberi perintah
responen
3. Browser web menampilkan informasi yang telah diterima dari server web.

5. Fungsi Website
Sebelum mendesain web, tentukan dan pahami beberapa fungsi situs web agar desain yang
dibuat sesuai dengan fungsi, estetika dan mood yang dikehendaki :

Fungsi Komunikasi
Website yang digunakan untuk komunikasi adalah website-website yang digunakan untuk
email, form contact, cahtting, forum dan sebagainya.

Fungsi Informasi
Website ini biasanya berisi teks dan grafik yang dapat didownload dengan cepet dan website
untuk fungsi informasi sebaiknya dilakukan pembatasan untuk penggunaan animasi, gambar
dan elemen bergerak. Website yang memberikan informasi misalnya News, Profile, Company,
Library, Reference dan sebagainya.

Fungsi Enetertaiment
Website yang difungsikan untuk sarana hiburan dengan banyaknya penggunaan gambar,
animasi dan elemen bergerak seperti game online, film online, musik online dan sebagainya.

Fungsi Transaksi
Website yang difungsikan untuk sarana bisnis, baik barang, ataupun jasa dengan metode
transaksi menggunakan kartu kredit atau pun transfer.

B. JENIS SITUS WEBSITE
Berikut ini jenis situs website yang dikelompokan sesuai dengan tujuannya :

1. Alat Pemasaran
Sebuah situs yang dibuat dengan tujuan untuk mempromosikan dan memasarkan produk
ataupun jasa layanan perusahaan dapat juga untuk sebuah company profile. Pemasaran melalui
internet lebih cepat sampai dan memiliki jangkauan yang lebih luas lagi.
Perencaan dalam merencang situs pemasaran dan promosi :
1. URL atau alamat situs web dapat menjadi aset pemasaran tersendiri dan disesuaikan
dengan posisi yang diinginkan.
2. Halaman web harus mengesankan pengunjung.
3. Letak isi menu tidak perlu terlalu banyak cukup simple akan tetapi menampilkan latar
belakang perusahaan (citra diri perusahaan).
4. Situs ini hanya memberikan informasi tidak bisa digunakan untuk transaksi online.
5. Informasi produk harus jelas.
6. Ada pencatatan pengunjung (guest book).

2. Nilai Tambah
Sebuah situs web sering dibuat hanya sebagai nilai tambah. Mungkin sebenarnya perusahaan
tidak terlalu membutuhkan situs web itu, tetapi menggunakannya hanya sekedar untuk
mengikuti tren sehingga perusahaan tampak lebih modern.
Perencanaan dalam merancang situs:
1. Adanya marketing tool
2. Adanya referensi atau informasi tambahan
3. Penggunaan web dirancang semudah mungkin

a. Katalog
Sebuah situs yang menampilkan produk-produk yang dijual oleh perusahaan. Dengan adanya
situs maka akan mempermudah untuk melakukan update terhadap produk yang akan dijual.
Perencanaan dalam merancang situs:
1. Adanya marketing tool
2. Informasi yang ditampilkan harus lengkap dan jelas.
3. Halaman situs user friendly (mudah untuk dipahami).
4. Transaksi hanya dapat dilakukan secara offline

b. E-Commerce
Adalah sebuah situs yang digunakan untuk melalukan transaksi pembelian dan pembayaran
secara online.
Bila sebuah halaman web yang akan disusun adalah halaman web yang berorintasi bisnis,
tujuan yang harus dicapai halaman web itu adalah meningkatkan order penjualan dari
pelanggan, menciptakan order dari pelanggan baru dan menekan keseluruhan biaya
pengeluaran.
Beberapa hal yang harus diperhatikan adalah :
1. Membuat nama domain sendiri.
2. Kecepatan akses sangat penting jadi jangan terlalu banyak menggunakan animasi
bergerak.
3. Pemilihan server (keamanan, kemudahan akses, stabilitas sistem server)
4. Tampilan situs memiliki kesan profesional
5. Email balasan
6. Cara pembayaran yang selengkap mungkin
7. Pencarian yang memudahkan pengunjung
8. Proses transaksi cepat dan mudah

c. E-Learning
Adalah sebuah website yang ditujukan sebagai media pembelajaran. E-learning bisa juga
digunakan untuk pembelajaran jarak jauh, untuk pelatihan.
Syarat yang harus terpenuhi dalam sebuah e-learning :

1. Sederhana
Untuk memudahkan peserta didik untuk menggunakan dan memanfaatkan menu yang ada,
dengan kemudahan panel yang disediakan mengurangi ketergantungan pengenalan sistem elearning
sehingga waktu belajar termanfaat dengan baik tidak tersita untuk memahami sistem
e-learning,
2. Cepat
Bertujuan untuk kecepatan respon terhadap sebuah layanan keluhan dan kebutuhan perbaikan
peserta didik sehingga perbaikan pembelajaran dapat dilakukan secepat mungkin oleh pengajar
atau pengelolah.
3. Personal
Peserta didik dapat berkomunikasi dengan baik layaknya komunikasi tatap muka pengajar
dengan peserta didik secara langsung, peserta didik dapat dibantu kemajuannya dan segala
persoalan yang dihadapi.
a. Komunitas
Sebuah situs yang memungkinkan untuk komunikasi secara bersama. Pengunjung dapat
berbagi pengalaman dan cerita. Untuk menambah teman dan perkumpulan baru.
b. Portal
Adalah aplikasi berbasis web yang menyediakan akses suatu titik tunggal dari informasi online
terdistribusi.
c. Personal
Adalah situs yang memiliki tujuan untuk mempromosikan atau menginformasikan tentang
seseorang, biasanya berisi biodata, portofolio, prestasi ataupun cerita sehari-hari dari
seseorang.

C. ISTILAH-ISTILAH DALAM PEMROGRAMAN WEB

Beberapa istilah dalam pemrograman web, antara lain :
1. Internet adalah kependekan dari International Networking, yang artinya jaringan
komputer berskala internasional/global yang dapat membuat masing-masing komputer
saling berkomunikasi.
2. Intranet merupakan jaringan komputer berskala kecil, hanya memiliki beberapa web
server yang diperuntukan untuk organisasi atau perudahaan, dan digunakan sebagai
sarana komunikasi antara komputer dalam organisasi tersebut.
3. TCP/IP adalah kependekan dari Transmission Control Protocol / Internet Protocol
artinya protokol yang terdiri dari sub-protokol, yang beroperasi pada lapisan yang
berbeda. Ini merupalan protokol standar internet. Protokol ini memberikan nomor Unix
pada setiap komputer yang terkoneksi.
4. URL adalah kependekan dari Uniform Resource Locators, artinya sebuah alamat
didalam internet yang terdiri atas 2bagian. Bagian pertama pengenalan protokol dan
bagian kedua adalah pengenalan domain.
5. HTTP adalah kependekan dari Hypertext Markup Language, artinya protokol yang
berfungsi untuk mendefinisikan dan menjelaskan bagaimana server dan client
berinteraksi dalam mengirim dan menerima dokumen web.