Tuesday, December 29, 2009

Pengenalan Rancangan Perangkat Lunak

Definisi RPL
Rekayasa Perangkat Lunak adalah disiplin ilmu yang membahas semua aspek produksi perangkat lunak, mulai tahap awal spesifikasi sistem sampai pemeliharaan sistem setelah digunakan. Perekayasa Perangkat Lunak memakai pendekatan yang sistematis dan terorganisir untuk menghasilkan perangkat lunak berkualitas tinggi.

Tujuan RPL
- Meningkatkan keakuratan, performance & efficiency produk secara keseluruhan dalam pengembangan.
- Menerapkan metodologi yang terdefinisi dengan baik untuk resolusi software.

Perbedaan RPL & Ilmu Komputer
Ilmu Komputer berhubungan dengan teori dan metode yang mendasari sistem komputer dan perangkat lunak. Teori ini merupakan suatu model fisik dan analitik untuk menyelesaikan kasus yang spesifik, sedangkan Rekayasa Perangkat Lunak berhubungan dengan masalah-masalah praktis untuk menghasilkan suatu perangkat lunak. Pendekatan dilakukan dengan model bisnis dan strategi bisnis suatu perangkat lunak.

Perbedaan RPL VS Rekayasa Sistem
Rekayasa Sistem berhubungan dengan semua aspek pengembangan sistem berbasis komputer, termasuk perangkat keras, perangkat lunak dan rekayasa proses. Sedangkan Rekayasa Perangkat Lunak adalah bagian dari Rekayasa Sistem.

Proses PL
Proses perangkat lunak adalah serangkaian kegiatan yang tujuannya untuk mengembangkan atau evolusi perangkat lunak. Kegiatan-kegiatan tersebut adalah:
- Spesifikasi perangkat lunak
- Pengembangan perangkat lunak
- Validasi perangkat lunak
- Evolusi perangkat lunak

Ilmu Komputer

Ilmu komputer (Ilkom) atau dalam bahasa Inggrisnya disebut Computer Science (CS), secara umum diartikan sebagai ilmu yang mempelajari baik tentang komputasi, perangkat keras (hardware) maupun perangkat lunak (software). Ilmu komputer mencakup beragam topik yang berkaitan dengan komputer, mulai dari analisa abstrak algoritma sampai subyek yang lebih konkret seperti bahasa pemrograman, perangkat lunak, termasuk perangkat keras. Sebagai suatu disiplin ilmu, Ilmu Komputer lebih menekankan pada pemrograman komputer, dan rekayasa perangkat lunak (software), sementara teknik komputer lebih cenderung berkaitan dengan hal-hal seperti perangkat keras komputer (hardware). Namun demikian kedua istilah tersebut sering disalah-artikan oleh banyak orang.


Tesis Church-Turing menyatakan bahwa semua alat komputasi yang telah umum diketahui sebenarnya sama dalam hal apa yang bisa mereka lakukan, sekalipun dengan efisiensi yang berbeda. Tesis ini terkadang dianggap sebagai prinsip dasar dari ilmu komputer. Para ahli ilmu komputer biasanya menekankan komputer von Neumann atau mesin Turing (komputer yang mengerjakan tugas yang kecil dan deterministik pada suatu waktu tertentu), karena hal seperti itulah kebanyakan komputer digunakan sekarang ini. Para ahli ilmu komputer juga mempelajari jenis mesin yang lain, beberapa diantaranya belum bisa dipakai secara praktikal (seperti komputer neural, komputer DNA, dan komputer kuantum) serta beberapa diantaranya masih cukup teoritis (seperti komputer random and komputer oracle).

Ilmu Komputer mempelajari apa yang bisa dilakukan oleh beberapa program, dan apa yang tidak (komputabilitas dan intelegensia buatan), bagaimana program itu harus mengevaluasi suatu hasil (algoritma), bagaimana program harus menyimpan dan mengambil bit tertentu dari suatu informasi (struktur data) dan bagaimana program dan pengguna berkomunikasi (antarmuka pengguna dan bahasa pemrograman).

Ilmu komputer berakar dari elektronika, matematika dan linguistik. Dalam tiga dekade terakhir dari abad 20, ilmu komputer telah menjadi suatu disiplin ilmu baru dan telah mengembangkan metode dan istilah sendiri. Departemen ilmu komputer pertama didirikan di Universitas Purdue pada tahun 1962. Hampir semua universitas sekarang mempunyai departemen ilmu komputer.

Penghargaan tertinggi dalam ilmu komputer adalah Turing Award, pemenang penghargaan ini adalah semua pionir di bidangnya.

Edsger Dijkstra mengatakan:

Ilmu komputer bukan tentang komputer sebagaimana astronomi bukan tentang teleskop

Fisikawan ternama Richard Feynman mengatakan:

Ilmu komputer umurnya tidak setua fisika; lebih muda beberapa ratus tahun. Walaupun begitu, ini tidak berarti bahwa "hidangan" ilmuwan komputer jauh lebih sedikit dibanding fisikawan. Memang lebih muda, tapi dibesarkan secara jauh lebih intensif!

Cabang ilmu utama informatika:

- Dasar Matematika

- Teori Ilmu Komputer

- Perangkat Lunak

- Perangkat Keras

- Organisasi Sistem Komputer

- Data & Sistem Informasi

- Metodologi Komputasi

- Aplikasi Komputer

- Lingkungan Komputasi

Catatan Tentang Istilah 'Informatika' & 'Ilmu Komputer'

Dalam bahasa Indonesia, istilah Informatika diturunkan dari bahasa Perancis informatique, yang dalam bahasa Jerman disebut Informatik. Sebenarnya kata ini identik dengan istilah computer science di Amerika Serikat dan computing science di Inggris. Namun istilah informatics dalam bahasa Inggris memiliki makna yang sedikit berbeda yaitu lebih menekankan pada aspek pengolahan informasi secara sistematis dan rasional.

Hubungan Informatika Dengan Bidang Lain

Ilmu komputer berkaitan erat dengan beberapa bidang lain. Bidang-bidang ini tidak benar-benar terpisah, sekalipun mempunyai perbedaan penting.

Ilmu Informasi

Ilmu Informasi adalah ilmu yang mempelajari data dan informasi, mencakup bagaimana menginterpretasi, menganalisa, menyimpan dan mengambil kembali. Ilmu informasi dimulai sebagai dasar dari analisa komunikasi dan basis data.

Sistem Informasi

Sistem Informasi adalah aplikasi komputer untuk mendukung operasi dari suatu organisasi yaitu: operasi, instalasi dan perawatan komputer, perangkat lunak dan data. Sistem Informasi Manajemen adalah kunci dari bidang yang menekankan finansial dan personal manajemen. 'Sistem Informasi' dapat berupa gabungan dari beberapa elemen teknologi berbasis komputer yang saling berinteraksi dan bekerja sama berdasarkan suatu prosedur kerja (aturan kerja) yang telah ditetapkan, dimana memproses dan mengolah data menjadi suatu bentuk informasi yang dapat digunakan dalam mendukung keputusan.

Rekayasa Perangkat Lunak

Rekayasa Perangkat Lunak pada prinsipnya menekankan pada tahapan-tahapan pengembangan suatu perangkat lunak yakni : Analisis, Desain, Implementasi, Testing dan Maintenance. Pada tahap yang lebih luas Rekayasa Perangkat Lunak mengacu pada Manajemen Proyek pengembangan Perangkat Lunak itu sendiri dengan tetap memperhatikan tahapan-tahapan pengembangan sebelumnya.

Dalam pengembangannya perangkat lunak memiliki berbagai model yaitu model water fall (model konvensional sebagai model terdahulu yang dikembangkan dan karena model water fall nyaris sama dengan siklus hidup pengembangan sistem), model prototype (model yang disukai oleh user dan pengembang), model sequensial linear, model RAD (rapid aplikation model), model formal method atau metode formal disini sebelum diadakannya implementasi terlebih dahulu rancangan model yang dibuat diverifikasi terlebih dahulu sehingga tidak ada lagi kesalahan - kesalahan pada saat implementasi.

Pengenalan Perangkat Lunak

Definisi PL
Perangkat Lunak adalah suatu aplikasi program komputer yang di dalamnya terdapat:
- Program itu sendiri
- Konfigurasi yang digunakan
- Dokumentasi yang menjelaskan struktur sistem
- Dokumentasi yang menjelaskan bagaimana menggunakan sistem
- Informasi tentang versi terbaru

Produk Perangkat Lunak dikembangkan sesuai dengan siapa pemakai perangkat lunak tersebut. Produk Perangkat lunak dibagi menjadi:
- Produk Generik, yang dijual pada pasar terbuka
- Produk Spesifik, yang dibuat dan dijual sesuai pesanan dari pemakai.

Problem Pembuatan PL
- Tidak memiliki waktu yang cukup dalam mengumpulkan data pada proses pembuatan perangkat lunak.
- Ketidakpuasan user pada PL yang dibuat.
- Kualitas PL terkadang meragukan.
- Sulit dalam memaintenance PL sekarang.

Macam PL
Perangkat Lunak Berdasarkan Pemakai:
- Generik : Perangkat lunak yang biasa digunakan secara umum
- Spesifik : Perangkat lunak yang dibuat berdasarkan pesanan
Perangkat Lunak Berdasarkan Fungsional:
- Interfacing
- Operating System
- Perangkat Lunak Aplikasi
- CASE Tools

PL Berdasarkan Pemakai
- Generik: Perangkat lunak yang digunakan secara umum. Ex: Word Processing, seperti Microsoft Word, WordPad.
- Spesifik: Perangkat lunak yang dibuat berdasarkan pesanan. Banyak Software House yang menghasilkan perangkat lunak ini berdasarkan proyek/pesanan tertentu.

PL Berdasarkan Fungsinya
- Interfacing : Perangkat lunak ini menghubungkan suatu perangkat keras tertentu, seperti hardware driver, interfaces dengan perangkat keras lain.
- Operating System : Perangkat lunak yang menjalankan sistem komputer dan merupakan interface dari sistem komputer dan program aplikasi yang berjalan diatasnya.
- Program Aplikasi : program ini digunakan untuk keperluan tertentu, yang tujuannya membantu pekerjaan manusia menjadi lebih mudah. Program ini yang banyak dibahas dalam pembuatan perangkat lunak.

Persyaratan PL
- Perangkat lunak harus memberikan bantuan dalam merepresentasikan dan mengakses file-file eksternal yang dibuat dengan alat bantu lain.
- Persyaratan Fungsional dan Non-Fungsional
- Persyaratan User
- Persyaratan Sistem
- Dokumentasi Persyaratan Perangkat Lunak

Spesifikasi Persyaratan System
- User harus diberi fasilitas untuk mendefinisikan jenis file eksternal.
- Setiap file eksternal bisa memiliki alat bantu relevan yang bisa diterapkan pada file tersebut.
- Setiap file eksternal bisa direpresentasikan sebagai ikon yang spesifik pada display user.
- Fasilitas harus disediakan untuk ikon yang merepresentasikan suatu jenis file eksternal yang akan didefinisikan oleh user.
- Ketika user memilih suatu ikon yang merepresentasikan file eksternal, efek pemilihan adalah penerapan alat bantu yang berhubungan dengan jenis file eksternal ke file yang direpresentasikan oleh ikon yang dipilih.

Persyaratan Fungsional & Non Fungsional
- Persyaratan Fungsional : Pernyataan layanan tentang bagaimana sistem harus bereaksi terhadap input, sistem harus berlaku pada situasi-situasi tertentu. Secara khusus menyatakan apa yang tidak boleh dilakukan sistem.
- Persyaratan Non Fungsional : Pernyataan tentang batasan layanan dan fungsi yang diberikan sistem.
- Persyaratan Domain : Persyaratan yang datang dari domain aplikasi sistem dan merefleksikan karakteristik domain tersebut

Persyaratan User
- Mendeskripsikan persyaratan fungsional dan non-fungsional sehingga dapat dipahami oleh user yang tidak memiliki pengetahuan teknik.
- Persyaratan user harus ditulis memakai bahasa natural, formal dan diagram intuitif yang sederhana. Persyaratan user tidak boleh didefinisikan memakai model implementasi.
- Masalah yang sering muncul:
• Tidak Adanya Kejelasan
• Kesimpang-siuran Persyaratan
• Penggabungan Persyaratan

Persyaratan Sistem
Persyaratan sistem ini lebih rinci dari persyaratan user, dan berfungsi sebagai dasar kontrak untuk implementasi sistem. Persyaratan sistem ini digunakan sebagai titik awal perancangan sistem. Bahasa natural banyak digunakan dalam mendefinisikan persyaratan sistem.

Membuka Password BIOS


Terkadang kita lupa dengan password BIOS, atau seperti yang sering saya alami ketika akan menginstal komputer pasien, ternyata biosnya dipassword oleh pemiliknya dan tidak memberitahu password komputer tersebut, sehingga ketika akan merubah konfigurasi bios mengalami kesulitan. Biasanya untuk membuka password tersebut dilakukan dengan cara merubah posisi jumper atau melepas baterai komputer, sebuah pekerjaan yang amat merepotkan dan riskan. Untuk melepas jumper, kita memerlukan manual mother board sedangkan melepas baterai CMOS, pada komputer tertentu terutama yang produk lama biasanya baterainya disolder ke mother board. Bila tidak hati-hati dan salah melakukannya mother board bisa rusak. Berikut ini ada cara untuk mengatasi kerepotan-kerepotan tersebut :


1. Standar BIOS backdoor password

Dengan cara mengetikan password menurut nama pembuatnya (coba salah satu dan perhatikan besar kecilnya huruf) sebagai berikut:


1.1 AWARD BIOS

AWARD SW, AWARD_SW, Award SW, AWARD PW, award, awkward, J64, j256, j262, j332, 01322222, 589589, 589721, 595595, 598598, HLT, SER, SKY_FOX, aLLy, aLLY, Condo, CONCAT, TTPHA, aPAf, HLT, KDD, ZBAAACA, ZAAADA, ZJAAADC, djonet


1.2 AMI BIOS

AMI, A.M.I., AMI SW, AMI_SW, BIOS, PASSWORD, HEWITT RAND, Oder. Jika cara di atas gagal, password lain yang bisa dicoba (untuk AMI, AWARD atau BIOS lainnya) adalah: LKWPETER, lkwpeter, BIOSTAR, biostar, BIOSSTAR, biosstar, ALAFAROME, Syxz, Wodj


2. Membuka BIOS lewat software

Bila cara yang di atas gagal, Anda bisa membuka password bios dengan menggunakan utility DEBUG dari MSDOS. Sebaiknya Anda mengerjakannya dalam mode MSDOS murni, bukan dari MSDOS shell dalam Windows. Setelah masuk dalam prompt debug, ketik perintah berikut:


2.1 Untuk AMI/AWARD BIOS

O 70 17

O 71 17

Q


2.2 Untuk PHOENIX BIOS

O 70 FF

O 71 17

Q


2.3 GENERIK berlaku untuk semua mother board AT (board XT tidak punya CMOS)

O 70 2E

O 71 FF

Q


CATATAN: Karakter pertama adalah huruf O bukan angka 0. Setelah melakukan langkah di atas, reset komputer dan Anda bisa merubah konfigurasi komputer. Selamat bekerja.

Sunday, November 8, 2009

Perbedaan VB.NET dg VB 6

Perbedaan mendasar pada VB.NET dibandingkan VB 6 adalah .NET framework itu sendiri dan konsep OOP.

Teknologi .NET framework dengan arsitekturnya sangat berbeda dengan teknologi sebelumnya seperti pada VB 6. .NET framework memiliki compiler untuk masing-masing bahasa; Untuk VB.NET ada VB compiler, C# ada C# compiler, dan compiler bahasa lainnya. Masing-masing compiler ini akan melakukan kompilasi (compile) source code kita menjadi Intermediate Language (IL). Bahasa apapun yang kita pakai pada source code (entah itu VB.NET, atau C#, atau lainnya), akan di-compile menjadi IL.

Dengan teknologi ini, IL berperan sebagai sebuah bahasa netral yang nantinya akan dieksekusi oleh Common Language Runtime (CLR). CLR adalah sebuah Runtime yang berfungsi sebagai virtual machine seperti halnya Java Virtual Machine (JVM) pada teknologi JAVA. Jadi, logikanya, platform apapun bisa menjalankan sebuah aplikasi berbasiskan .NET dengan adanya CLR. Dan CLR melalui Just In Time (JIT) compiler nya, akan melakukan kompilasi terhadap IL menjadi native code OS.

Jika digambarkan secara sederhana, proses VB.NET source code menjadi native code sebuah OS seperti ini:
VB.NET source code --(VB compiler)--> IL --(CLR-JIT compiler)--> native code

Sementara pada VB 6 seperti ini:
VB 6 source code --(compiler)--> native code

Selain itu, masih banyak teknologi .NET lainnya yang tidak terdapat pada VB 6 seperti; Metadata, Code Access Security, Memory Management, dan lainnya. Satu lagi, karena .NET framework ini adalah sebuah framework yang bisa digunakan oleh berbagai bahasa, maka VB.NET pun bisa menggunakan semua fungsionalitas Framework Class Library dari .NET.

Dengan framework yang sekarang (versi 3.5), teknologi-teknologi baru seperti WPF, WCF, WF, LINQ, dan lainnya juga bisa diimplementasikan dengan menggunakan VB.NET.

Silahkan cari referensi nya di internet sangat banyak : )

Perbedaan yang kedua, yaitu OOP. VB 6 tidak di-desain untuk penggunaan OOP, berbeda dengan VB.NET. Oleh karena itu, mindset seorang developer VB 6 dengan procedural programming nya berbeda dengan developer VB.NET yang OOP minded. Walaupun bahasa yang digunakan pada VB dan VB.NET relatif sama, tapi konsep procedural programming dan OOP di dalamnya sangat berbeda.

@Swike: XML bisa juga kok di VB 6 ;D Selain itu, XML kurang reliable untuk difungsikan sebagai database, lebih cocok dipakai untuk menyimpan informasi ke dalam bentuk custom markup language. Biasanya digunakan sebagai file konfigurasi atau untuk serialization. WPF menggunakan XML sebagai bahasa nya yaitu XAML yang bersifat declarative-UI.

Thursday, November 5, 2009

Istilah-Istilah Dalam Jaringan

a.TCP/IP (Transmission Control Protocol/Internet Protocol)
Protokol komunikasi yang mula-mula dikembangkan oleh Departemen Pertahanan AS. TCP/IP menyediakan jalur transportasi data sehingga sejumlah data yang dikirim oleh suatu server dapat diterima oleh server yang lain. TCP/IP merupakan protokol yang memungkinkan sistem di seluruh dunia berkomunikasi pada jaringan tunggal yang disebut Internet. Berikut adalah beberapa istilah dalam jaringan :

b.IP address
Alamat numeric unik dari sebuah komputer di Internet. IP address komputer Anda sama dengan nomor telepon Anda sendiri dalam fungsinya. Jika ada kesamaan nomor IP maka salah satu dari nomor yang sama akan tidak berfungsi di jaringan (konflik IP address)

c.Subnet Mask
Angka biner 32 bit yang digunakan untuk membedakan network ID dengan host ID, menunjukkan letak suatu host, apakah berada di jaringan lokal atau jaringan luar.

d.Gateway
Sebuah komputer yang melayani konversi protokol antara beberapa tipe yang berbeda dari suatu network atau program aplikasi. Sebagai contoh, sebuah gateway dapat meng-convert sebuah paket TCP/IP menjadi paket NetWare IPX atau dari Apple Talk menjadi DECnet, dan lain-lain

e.Domain Name Sistem
Merupakan kepanjangan dari DNS dengan beberapa definisi berikut ini:
1.Sistem yang menerjemahkan antara alamat IP dan host name Internet.
2.Sistem pemberian alamat yang digunakan dalam lingkungan Internet. Intinya memberi nama lain pada alamat Internet Protocol yang terdiri dari dua bagian, yaitu identitas organisasi (nama organisasi) dan jenis organisasi (.com, .edu, .net, dsb).

f.Computer Name
Merupakan nama dari computer dalam jaringan. Dalam lingkungan LAN nama computer haruslah unic (tidak ada yang sama) jika terjadi kesamaan maka akan ada peringatan bahwa nama computer sudah di pakai dan akan mempengaruhi kinerja dari computer yang mempunyai nama yang sama tetapi dengan dasar IP address masih bisa diakses.

g.Workgroup
Kesatuan dari komputer2 yang berada di suatu jaringan. Tetapi menjadikan dalam jaringan tersebut tidak ada server yang mengatur ( semua computer kedudukannya sama)

h.Domain
Kesatuan dari komputer2 yang berada di suatu jaringan. Tetapi menjadikan dalam jaringan tersebut ada server yang mengatur ( server mempunyai kedudukan lebih tinggi)

TCP/IP

TCP singkatan dari transfer control protocol dan IP singkatan dari Internet Protocol. TCP/IP menjadi satu nama karena fungsinya selalu bergandengan satu sama lain dalam komunikasi data. TCP/IP saat ini dipergunakan dalam banyak jaringan komputer lokal (LAN) yang terhubung ke Internet, karena memiliki sifat:

1. Merupakan protokol standar yang terbuka, gratis dan dikembangkan terpisah dari perangkat keras komputer tertentu. Karena itu protokol ini banyak didukung oleh vendor perangkat keras, sehingga TCP/IP merupakan pemersatu perangkat keras komputer yang beragam merk begitu juga sebagai pemersatu berbagai perangkat lunak yang beragam merk sehingga walau anda memakai perangkat keras dan perangkat lunak komputer yang berlainan dengan teman anda pada jaringan komputer berbeda, anda dan teman anda dapat bermkomunikasi data melalui Internet.

2. Berdiri sendiri dari perangkat keras jaringan apapun. Sifat ini memungkinkan TCP/IP bergabung dengan banyak jaringan komputer. TCP/IP bisa beroperasi melalui sebuah Ethernet, sebuah token ring, sebuah saluran dial-up, dan secara vitrual melalui berbagai media fisik transmisi data.

3. Bisa dijadikan alamat umum sehingga tiap perangkat yang memakai TCP/IP akan memiliki sebuah alamat unik dalam sebuah jaringan komputer lokal, atau dalam

4. jaringan komputer global seperti Internet.
Potokol ini distandarisasi dengan skala tinggi secara konsisten, dan bisa memberikan servis kepada user-user di dunia.

Pada bagian utama pengalamatan lokal network, TCP/IP membuat nomor unik untuk setiap workstation di seluruh dunia. Nomor IP adalah nilai 4 byte (IPv4) dengan konvensi merubah setiap byte ke dalam nomor desimal (0 sampai 255 untuk IP yang digunakan sekarang) dan memisahkan setiap bytes dengan periode. Sebagai contoh misalnya 130.132.59.234. IP ini lebih sering dikenal sebagai IP global karena dapat di akses di seluruh dunia dengan internet. Digunakan untuk IP server yang harus di daftarkan pada pengelola IP global. Sedang IP yang digunakan untuk mengkoneksikan antar komputer di sebut IP local.

“Class C” dengan 3 bytes pertama meyatakan jaringan dan byte terakhir menyatakan 255 individual komputer. Yang sering di gunakan pada kelas C misalnya : 192.168.0.x “Class B” dengan 2 bytes pertama menyatakan jaringan dan 2 bytes terakhir menyatakan masing-masing workstation sampai mencapai sekitar 64.000 individual workstation. Yang sering digunakan pada kelas B misalnya : 172.16.x.x “Class A” dengan 1 bytes pertama meyatakan jaringan dan 3 byte terakhir menyatakan individual komputer mencapai sekitar 16 juta lebih workstation. Yang sering digunakan pada kelas A. misalnya :10.x.x.x