Perbeaan TCP dan UDP

1. TCP

Pengertian TCP

Transmission Control Protocol (TCP) adalah salah satu jenis protokol yang memungkinkan kumpulan komputer untuk berkomunikasi dan bertukar data didalam suatu network (jaringan). TCP merupakan suatu protokol yang berada di lapisan transpor (baik itu dalam tujuh lapis model referensi OSI atau model DARPA) yang berorientasi sambungan (connection-oriented) dan dapat diandalkan (reliable).
TCP dipakai untuk aplikasi-aplikasi yang membutuhkan keandalan data.

Cara Kerja TCP/IP

Adapun langkah-langkah cara kerja dari protokol TCP/IP ini adalah :
  1. Pertama, datagram dibagi-bagi ke dalam bagian-bagian kecil yang sesuai dengan ukuran bandwith (lebar frekuensi) dimana data tersebut akan dikirimkan.
  2. Pada lapisan TCP, data tersebut lalu “dibungkus” dengan informasi header yang dibutuhkan. Misalnya seperti cara mengarahkan data tersebut ke tujuannya, cara merangkai kembali kebagian-bagian data tersebut jika sudah sampai pada tujuannya, dan sebagainya.
  3. Setelah datagram dibungkus dengan header TCP, datagram tersebut dikirim kepada lapisan IP.
  4. IP menerima datagram dari TCP dan menambahkan headernya sendiri pada datagram tersebut.
  5. IP lalu mengarahkan datagram tersebut ke tujuannya.
  6. Komputer penerima melakukan proses-proses perhitungan, ia memeriksa perhitungan checksum yang sama dengan data yang diterima.
  7. Jika kedua perhitungan tersebut tidak cocok berarti ada error sewaktu pengiriman dan datagram akan dikirimkan kembali.

    2. UDP

    Pengertian UDP

    UDP, singkatan dari User Datagram Protocol, adalah salah satu protokol lapisan transpor TCP/IP yang mendukung komunikasi yang tidak andal (unreliable), tanpa koneksi (connectionless) antara host-host dalam jaringan yang menggunakan TCP/IP.

    3. Perbedaan TCP dan UDP

    Berbeda dengan TCP, UDP merupakan connectionless dan tidak ada keandalan, windowing, serta fungsi untuk memastikan data diterima dengan benar. Namun, UDP juga menyediakan fungsi yang sama dengan TCP, seperti transfer data dan multiplexing, tetapi ia melakukannya dengan byte tambahan yang lebih sedikit dalam header UDP.
    UDP melakukan multiplexing UDP menggunakan cara yang sama seperti TCP. Satu-satunya perbedaan adalah transport protocol yang digunakan, yaitu UDP. Suatu aplikasi dapat membuka nomor port yang sama pada satu host, tetapi satu menggunakan TCP dan yang satu lagi menggunakan UDP—hal ini tidak biasa, tetapi diperbolehkan. Jika suatu layanan mendukung TCP dan UDP, ia menggunakan nilai yang sama untuk nomor port TCP dan UDP.
    UDP mempunyai keuntungan dibandingkan TCP dengan tidak menggunakan field sequence dan acknowledgement. Keuntungan UDP yang paling jelas dari TCP adalah byte tambahan yang lebih sedikit. Di samping itu, UDP tidak perlu menunggu penerimaan atau menyimpan data dalam memory sampai data tersebut diterima. Ini berarti, aplikasi UDP tidak diperlambat oleh proses penerimaan dan memory dapat dibebaskan lebih cepat. Pada tabel, Anda dapat melihat fungsi yang dilakukan (atau tidak dilakukan) oleh UDP atau TCP.

    Tabel Perbedaan TCP dan UDP

    Dibawah ini merupakan tabel perbedaan TCP dan UDP :
    No TCP UDP
    1. Beroperasi berdasarkan konsep koneksi. Tidak berdasarkan konsep koneksi, jadi harus membuat kode sendiri.
    2. Jaminan pengiriman-penerimaan data akan reliable dan teratur. Tidak ada jaminan bahwa pengiriman dan penerimaan data akan reliable dan teratur, sehingga paket data mungkin dapat kurang, terduplikat, atau bahkan tidak sampai sama sekali.
    3. Secara otomatis memecah data ke dalam paket-paket. Pemecahan ke dalam paket-paket dan proses pengirimannya dilakukan secara manual.
    4. Tidak akan mengirimkan data terlalu cepat sehingga memberikan jaminan koneksi internet dapat menanganinya. Harus membuat kepastian mengenai proses transfer data agar tidak terlalu cepat sehingga internet masih dapat menanganinya.
    5. Mudah untuk digunakan, transfer paket data seperti menulis dan membaca file. Jika paket ada yang hilang, perlu dipikirkan di mana letak kesalahan yang terjadi dan mengirim ulang data yang diperlukan.

    Secara garis besar perbedaan TCP dan UDP adalah :
    No TCP UDP
    1. Dapat diandalkan Jika sambungan terputus ketika mengrim sebuah pesan maka server akan meminta bagian yang hilang. Jadi tidak akan terjadi data yang korup ketika mentransfer sebuah data. Tidak dapat diandalkan Jika mengirimkan suatu pesan atau data, kita tidak akan tahu apakah sudah terkirim atau belum dan apakah sebagian dari pesan tersebut hilang atau tidak ketika proses pengiriman. Jadi akan ada kemungkinan terjadinya data yang korup.
    2. Berurutan Ketika mengrimkan dua pesan secara berurutan / satu demi satu. TCP akan mengirimkannya secara berurutan. Tidak perlu khawatir data tiba dengan  urutan yang salah. Tidak berurutan Ketika mengrimkan dua pesan secara berurutan / satu demi satu. Tidak dapat dipastikan data mana yang akan datang terlebih dahulu.
    3. Berorientasi sambungan (connection-oriented)Sebelum data dapat ditransmisikan antara dua host, dua proses yang berjalan pada lapisan aplikasi harus melakukan negosiasi untuk membuat sesi koneksi terlebih dahulu. Koneksi TCP ditutup dengan menggunakan proses terminasi koneksi TCP (TCP connection termination). Connectionless (tanpa koneksi)
    Pesan-pesan UDP akan dikirimkan tanpa harus dilakukan proses negosiasi koneksi antara dua host yang hendak berukar informasi.
    4. Ringan (Heavyweight) Ketika tingkat level terendah dari TCP tercapai dalam urutan yang salah,permintaan pengiriman ulang data harus dikirm. dan bagian lainya harus dikembalikan semua. Sehingga membutuhkan proses untuk menyatukannya Ringan (Lightweight) Tidak ada permintaan pesan, tidak ada trak koneksi dan yang lainnya, hanya menjalankan dan melupakannya. Ini berarti itu jauh lebih cepat dan kartu jaringan / OS hanya melakukan sedikit pekerjaan untuk menerjemahkan kembali data dari paket.
    5.
    Streaming Data /paket dibaca sebagai satu alur data. tanpa mengetahui batas setiap data berakhir dan data yang lain mulai. Ada kemungkinan beberapa paket data dibaca per satu panggilan data. 
    Datagrams Paket dikirim secara individu dan dijamin utuh ketika tiba. Satu paket dibaca per satu  panggilan.
    5.
    Contoh
    World Wide Web (Apache TCP port 80), e-mail (SMTP TCP port 25 Postfix MTA), File Transfer Protocol (FTP port 21) and Secure Shell (OpenSSH port 22) etc.
    Contoh
    Domain Name System (DNS UDP port 53), streaming media applications such as IPTV or movies, Voice over IP (VoIP), Trivial File Transfer Protocol (TFTP) and online multiplayer games etc

Perbedaan Antara Switch dengan HUB



Perbedaan Switch dan HUB
6 Perbedaan Antara Switch dengan HUB - Salam IT Newbie, Sudah lama IT Newbie tidak membahas tentang networking, karena banyaknya tutorial yang harus kami tuangkan dalam blog ini, terutama dengan rilisnya sebuah operasi sistem windows terbaru yaitu Windows 8. IT Newbie terus membahas tentang windwos 8 karena sistem operasi ini sedang booming-boomingnya. Langsung saja akan kita bahas tutorial tentang Switch dan HUB.
Siapa diantara sobat yang tidak tahu switch atau hub? pengertian Switch dan HUB yaitu merupakan sama-sama sebuah alat jaringan komputer sebagai central atau pusat untuk membagi koneksi yang saling terhubung dengan port-port lainnya untuk dapat mengkoneksikan sebuah komputer satu dengan komputer lainnya. Jika dilihat dari pengertian dan fungsinya jelas sekali sama. Pada switch maupun hub sama-sama memiliki beberapa port dari kabel RJ45 atau female yang merupakan sebuah tempat untuk terhubungnya antara konektor RJ45 male yang terpasang pada ujung kabel jaringan.

Untuk dukungan banyaknya port workstation yang bisa saling terhubung tergantung dari jumlah port yang tersedia pada hub atau swith tersebut. Dan biasanya port RJ45 female yang tersedia pada hub atau switch berjumlah 4, 8, 12, 16, 24 port.

Pada tutorial sebelumnya IT Newbie pernah membahas tentang Tips dan Trik Cara Merawat JAringan Komputer dan Mengatasi Permasalahan pada Jaringan LAN.
Berikut ini akan kita bahas Perbedaan antara Switch dengan HUB:
1. Pada sebuah HUB hanya memiliki satu collision control untuk semua port yang ada sedangkan switch setiap port memiliki colloision control sendiri-sendiri. (collision control yaitu pengontrol transmisi data atau informasi dalam kabel jaringan LAN agar tidak terjadi tabrakan data)
2. Pada HUB apabila semakin besar jumlah port yang disediakan maka akan semakin lambat proses transmisi data yang terjadi, sedangkan pada switch banyaknya jumlah port tidak membebani collision control karena setiap port memiliki collision control sendiri.
3. Port pada HUB hanya 4 sampai 12 port sedangkan switch lebih banyak portnya.
4. Jika dilihat dari segi keamanannya Switch lebih ketat keamanan nya dibandingkan HUB
5. Kecepatan transfer data switch jauh lebih cepat dibandingkan HUB 
6. Dilihat dari segi ekonomisnya sudah pasti hub lebih murah harganya dibandingkan dengan switch yang lebih mahal.
Jika dilihat dari perbedaan antara Switch dengan HUB jelas sekali switch lebih unggul dari HUB, dan dilihat dari segi kualitasnya switch pun lebih unggul meski fungsinya sama sebagai central pada jaringan komputer.

Kelebihan dan Kelemahan Topologi Jaringan


Topologi adalah istilah yang digunakan dalam jaringan komputer untuk menguraikan cara bagaimana suatu komputer terhubung ke komputer lainnya



1. Topologi Ring

Kelebihan Topologi Ring
• Menghubungkan secara langsung dua perangkat dalam jaringan.
• Identifikasi kerusakan mudah karena sinyal data selalu bergerak lurus dari perangkat pengirim sampai perangkat tujuan. 
• Dalam proses instalasi dan rekonfigurasi secara fisik maupun ligik mudah karena terhubung satu dan hanya satu dengan oerangkat lainnya.
Kekurangan Topologi Ring
• Sinyal akan semakin melemah apabila jarak yang di tempuh untuk mencapai tujuan semakin jauh.
• Untuk mengatasinya maka dilengkapi repeater.
• Tidak berfungsinya satu link akan mempengaruhi link lainnya.

2. Topologi Bus


Kelebihan Topologi Bus
• Topologi yang banyak di gunakan di awal penggunaan jaringan computer karena topologi yang paling sederhana di banding dengan topologi lainnya.
• Komputer di hubungkan antara satu dengan lainnya dengan membentuk seperti barisan melalui satu single kabel.
Kekurangan Topologi Bus
• Hanya satu computer yang dapat mengirimkan data yang berupa sinyal elektronik ke semua computer dalam jaringan tsb,dan di terima oleh satu computer yang di tuju.
• Oleh karena hanya satu computer saja yang dapat mengirimkan data dalam satu saat jumlah computer sangat berpengaruh dalam unjuk kerja.
• Semakin banyak jumlah computer semakin banyak computer akan menunggu giliran untuk bias mengirim data dan efeknya untuk kerja jaringan akan menjadi lambat.
• Sinyal yang di kirimkan oleh satu computer akan di kirim keseluruh jaringan dari ujung satu sampai ujung lainnya.
• Jika kabel terputus maka semua jaringan computer terganggu dan tidak bias berkomunikasi satu dengan yang lainnya.

3. Topologi Mesh Adalah suatu bentuk hubungan antar perangkat dimana setiap perangkat terhubung secara langsung dengan perangkat lainnya yang ada di dalam jaringan.


Kelebihan Topologi Mesh
• Dapat berkomunikasi langsung dengan perangkat tujuan.
• Data dapat di kirim langsung ke computer tujuan tanpa harus melalui computer lainnya lebih cepat.Satu link di gunakan kusus untuk berkomunikasi dengan computer yang di tuju.
• Memiliki sifat Robust, yaitu Apabila terjadi gangguan pada koneksi komputer A dengan komputer B karena rusaknya kabel koneksi (links) antara A dan B, maka gangguan tersebut tidak akan mempengaruhi koneksi komputer A dengan komputer lainnya.
• Mudah dalam proses identifikasi permasalahan pada saat terjadi kerusakan koneksi antar komputer.
Kekurangan Topologi Mesh
• Setiap perangkat harus memiliki I/O port. Butuh banyak kabel sehingga butuh banyak biaya.
• Instalasi dan konfigurasi lebih sulit karena computer yang satu dengan yang lain harus terkoneksi secara langsung.

4. Topologi Star

Kelebihan Topologi Star
• Topologi star tidak langsung terhubung satu sama lain tetapi melalui perangkat pusat pengendali yang di sebut HUB.
• Kabel yang di butuhkan hanya sebanyak computer dalam jaringan dan I/O cukup hanya satu di setiap computer,kabel link dan port I/O lebih sedikit dan biaya lebih sedikit dari pada topologi mesh.
• Memiliki sifat robustness yaitu jika satu link rusak maka hanya pada computer yang berada pada link tsb.
Kelemahan Topologi Star
• Kondisi HUB harus tetap dalam kondisi baik, kerusakan HUB berakibat lumpuhnya seluruh link dalam jaringan sehingga computer tidak dapat saling berkomunikasi.

5. Topologi Tree

Kelebihan Topologi Tree
• Seperti topologi star perangkat terhubung pada pusat pengendali /HUB.
• Tetapi HUB dibagi menjadi dua,central HUB,dan secondary HUB
• Topologi tree ini memiliki keunggulan lebih mampu menjangkau jarak yang lebih jauh dengan mengaktifkan fungsi Repeater yang dimiliki oleh HUB.
Kelemahan Topologi Tree
• Kabel yang digunakan menjadi lebih banyak sehingga diperlukan perencanaan yang matang dalam pengaturannya , termasuk di dalamnya adalah tata letak ruangan.

6. Topologi Extended Star Topologi Extended Star merupakan perkembangan lanjutan dari topologi star, karakteristiknya tidak jauh berbeda dengan topologi star.

Kelebihan Topologi Extended Star
• Jika satu kabel sub node terputus maka sub node yang lainnya tidak terganggu, tetapi apabila central node terputus maka semua node disetiap sub node akan terputus
Kekurangan Topologi Extended Star
• Tidak dapat digunakan kabel yang “lower grade” karena hanya menghandel satu traffic node, karena untuk berkomunikasi antara satu node ke node lainnya membutuhkan beberapa kali hops.

7. TOPOLOGI HYBRID Adalah gabungan dari banyak topologi

Pointer di C++

#include <iostream> /*header c++ yang wajib di isi dalam bahasa c++*/
using namespace std; /*menggunakan namespace std yang terdapat di c++*/
void a1(); /*mendeklarasikan fungsi dengan nama a1 yang tidak memiliki nilai balik*/
namespace evan /*berfungsi untuk mendeklarasikan namespace dengan nama evan*/
{ /*berfungsi sebagai awal dari badan structure*/
struct org /*berfungsi untuk mendeklarasikan nama org sebagai nama dari structure*/
{ /*sebagai awal dari badan char*/
char nama[50]; /*berfungsi untuk menampilkan variabel nama dengan array 50*/
char alamat[60]; /*berfungsi untuk menampilkan variabel alamat dengan array 60*/
int a; /*variabel a memiliki tipe data int*/
}orgh[10]; /*membuat variabel orgh dengan tipe data org dari data structure dengan array 10*/
} /*berfungsi sebagai akhir dari badan structure*/
int main() /*fungsi minimum yang harus ada di program c++*/
{ /*sebagai awal dari main*/
using namespace evan; /*menggunakan namespace yang bernama evan*/
char *p[100]; /*p merupakan pointer ke char yang memiliki array 100*/
p[0]= "=================Pembelian Mobil=============\n"; /*mendeklarasikan p urutan ke 0 "=================Pembelian Mobil============= dan disertai new line*/
p[1]= "===================================\n"; /*mendeklarasikan p urutan ke 1 "============================================= dan disertai new line*/
cout <<p[0];/*menampilkan p urutan ke 0*/

cout << "Daftar Mobil\n"; /*menampilkan tulisan daftar mobil*/
cout << "1.Toyota Avanza\n"; /*menampilkan tulisan 1.Toyota Avanza*/
cout << "2.Daihatsu Zenia\n"; /*menampilkan tulisan 2.Daihatsu Xenia*/
cout << "3.Nissan Grand Livina\n"; /*menampilkan tulisan 3.Nissan Grand Livina*/
cout << "\n"; /*menampilkan spasi*/
awal:
cout << "Masukkan Pilihan Anda: "; /*menampilkan tulisan Masukkan Pilihan Anda*/
cin >> orgh[0].a; /*menempatkan masukan "<<"Masukkan Pilihan Anda: " dan menempatkan variabel orgh.a dengan array 0*/
cin.get(); /*membaca new line dari masukan sebelumnya*/
cout << "\n"; /*menampilkan spasi*/
cout << " Masukan Nama Anda : "; /*menampilkan tulisan "Masukan Nama Anda*/
cin.getline(orgh[0].nama,50); /*membaca masukan "masukan nama anda" dan menempatkan variabel orgh array 0 dan variabel nama dengan array 50*/

cout <<" Masukkan Alamat Anda : "; /*menampilkan tulisan "Masukkan Alamat Anda*/
cin.getline(orgh[0].alamat,60); /*membaca masukan "masukan nama anda" dan menempatkan variabel orgh array 0 dan variabel alamat dengan array 60*/          

int kode ; /*variabel kode memiliki tipe int*/
if(orgh[0].a==1) /*menyatakan kondisi jika variabel orgh.a  dengan array 0 sama dengan 1*/ 
kode=1; /*menyatakan kondisi sebelum a=1*/
else if (orgh[0].a==2) /*menyatakan kondisi jika variabel orgh.a  dengan array 0 sama dengan 2*/
kode=2; /*menyatakan kondisi sebelum a=2*/

switch (kode) /*mendeklarasikan switch dengan tipe data kode*/
{

case 1: /*menyatakan kasus 1*/
cout <<" "<< "\n";/*menampilkan spasi*/
cout <<" "<< orgh[0].nama <<"\n";/*menampilkan nama dengan bantuan variabel orgh*/
cout <<" "<< orgh[0].alamat<< "\n";/*menampilkan alamat dengan bantuan variabel orgh*/
cout <<" "<< "Anda Memilih Mobil : \n";/*menampilkan tulisan  Anda Memilih Mobil*/
cout <<" "<< "Toyota Avanza \n";/*menampilkan tulisan  Toyota Avanza*/
cout <<" "<< "\n";/*menampilkan spasi*/
cout <<" "<< "Memiliki Fitur : \n";/*menampilkan tulisan Memiliki Fitur*/
cout <<" "<< "fuel engine VVT-I \n";/*menampilkan tulisan fuel engine VVT-I*/
cout <<" "<< "700 horse power \n";/*menampilkan tulisan 700 horse power*/
cout <<" "<< "Dynamic Body Design \n";/*menampilkan tulisan Dynamic Body Design*/
cout <<" "<< "Harga : 150.000.000,00 \n";/*menampilkan tulisan Harga : 150.000.000,00*/
a1();/*menampilkan fungsi dari a1*/
break;/*menghentikan proses switch*/
case 2:/*menyatakan kasus 2*/
cout <<" "<< "\n";/*menampilkan spasi*/
cout <<" "<< orgh[0].nama <<"\n";/*menampilkan nama dengan bantuan variabel orgh*/
cout <<" "<< orgh[0].alamat <<"\n";/*menampilkan alamat dengan bantuan variabel orgh*/
cout <<" "<< "Anda Memilih Mobil : \n";/*menampilkan tulisan Anda Memilih Mobil*/
cout <<" "<< "Daihatsu Xenia \n";/*menampilkan tulisan Daihatsu Xenia*/
cout <<" "<< "\n";/*menampilkan spasi*/
cout <<" "<< "Memiliki Fitur : \n";/*menampilkan tulisan Memiliki Fitur*/
cout <<" "<< "Fuel engine VVT-I \n";/*menampilkan tulisan Fuel engine VVT-I*/
cout <<" "<< "500 horse power \n";/*menampilkan tulisan 500 horse power*/
cout <<" "<< "Dynamic Body Design \n";/*menampilkan tulisan Dynamic Body Design*/
cout <<" "<< "Harga : 100.000.000,00 \n";/*menampilkan tulisan Harga : 100.000.000,00*/
a1();/*menampilkan fungsi dari a1*/
break;/*menghentikan proses switch*/
default :/*pilihan yang tidak ada di switch*/
cout <<" "<< "\n";/*menampilkan spasi*/
cout <<" "<< orgh[0].nama <<"\n";/*menampilkan nama dengan bantuan variabel orgh*/
cout <<" "<< orgh[0].alamat <<"\n";/*menampilkan alamat dengan bantuan variabel orgh*/
cout <<" "<< "Anda Memilih Mobil : \n";/*menampilkan tulisan Anda Memilih Mobil*/
cout <<" "<< "Nissan Grand Livina \n";/*menampilkan tulisan Nissan Grand Livina*/
cout <<" "<< "\n";/*menampilkan spasi*/
cout <<" "<< "Memiliki Fitur : \n";/*menampilkan tulisan Memiliki Fitur*/
cout <<" "<< "600 horse power \n";/*menampilkan tulisan 600 horse power*/
cout <<" "<< "Fuel Engine VVT-I \n";/*menampilkan tulisan Fuel Engine VVT-I*/
cout <<" "<< "Dynamic Body Design \n";/*menampilkan tulisan Dynamic Body Design*/
cout <<" "<< "Harga : 125.000.000 \n";/*menampilkan tulisan Harga : 125.000.000*/
a1();/*menampilkan fungsi dari a1*/
break;/*menghentikan proses switch*/
}/*mendeklarasikan akhir dari case*/

cout << p[1];/*menampilkan p urutan ke 1*/

char pilih; /*mendeklarasikan pilih dengan tipe char*/
cout << "apakah anda yakin untuk memilih mobil ini? (y/n)"; /*menampilkan tulisan "apakah anda yakin untuk memilih mobil ini? (y/n)"*/
cin >> pilih; /*memasukkan input ke variabel pilih*/
if (pilih=='n'||pilih=='N') /*menyatakan kondisi jika variabel pilih==n*/
{
goto awal; /*berfungsi untuk loncat ke variabel awal*/
}
cout << "TERIMA KASIH";/*menampilkan tulisan "TERIMA KASIH"*/
return 0;/*menghentikan fungsi main*/

}/*sebagai akhir dari main*/
void a1()/*mendeklarasikan fungsi dengan nama a1 yang tidak memiliki nilai balik*/
{/*mendeklarasikan awal dari void*/
cout <<" "<<"Velg racing type ZZ-79 \n";/*menampilkan tulisan Velg racing type ZZ-79*/
cout <<" "<<"GPS System \n";/*menampilkan tulisan GPS System*/
}/*mendeklarasikan akhir dari void*/

output :

Pointer Di Pascal

uses crt;
type
ptrdata = ^segitiga;
segitiga = record
alas, tinggi : integer;
next : ptrdata;
end;

var
awal, akhir : ptrdata;

procedure tambah (a,t : integer);
var
baru : ptrdata;
begin
new(baru);
baru^.alas:=a; baru^.tinggi:=t;
if awal=nil then
awal := baru
else
akhir^.next:=baru;
akhir:=baru;
akhir^.next:=nil;
end;
procedure tampil;
begin
akhir:=awal;
while akhir <> nil do
begin
writeln('alas = ',akhir^.alas,' , ','tinggi = ',akhir^.tinggi,' ',
'luas = ',0.5*(akhir^.alas*akhir^.tinggi):0:2);writeln;
akhir := akhir^.next;
end; end;

begin
clrscr;
awal := nil;
akhir := nil;
writeln;
tambah (5,7);
tambah (4,8);
tambah (2,9);
tampil;
readln;
end.

output :

PROGAM STRING PASCAL DAN C++

CONTOH PROGRAM STRING PASCAL 
program npmdanjurusan;
uses crt;

var
npm,jurusan1,jurusan2,angkatan1,angkatan2: string;
y,z : integer;

begin
clrscr;
write ('Masukkan NPM anda : ');
readln (npm);

(*gunadarma didirikan pada tahun 1981
kode jurusan :
1= strata 1 ; sistem informasi
2= diploma 3 ; manajemen informatika
3= strata 1 ; manajemen komputer dan akuntansi dan seterusnya sesuai database*)

jurusan1:=copy(npm,1,1);
if jurusan1= '1' then jurusan2:='Strata 1 - SISTEM INFORMASI '
else
if jurusan1= '2' then jurusan2:='Diploma3 - MENEJEMEN INFORMATIKA '
else
if jurusan1= '3' then jurusan2:='STRATA 1 - TEKHNIK INFORMATIKA '
else
if jurusan1= '4' then jurusan2:='STRATA 1 - SASTRA INGGRIS '
else
if jurusan1= '5' then jurusan2:='STRATA 1 - MENEJEMEN AKUNTANSI '
else
if jurusan1= '6' then jurusan2:='STRATA 1 - TEKHNIK INDUSTRI '
(*database bisa di update dan di masukkan lebih banyak lagi dg menggunakan fungsi IF*)
else
jurusan2:=' MAAF ANDA TIDAK TERDAFTAR SEBAGAI MAHASISWA UNIVERSITAS GUNADARMA ';
writeln;
writeln('Jurusan anda adalah : ',jurusan2);
writeln;

angkatan1:=copy (npm,4,2);
(*untuk mengambil string angka ke 4 sebanyak 2 karakter*)
val(angkatan1,y,z);
if y>81 then
writeln('Anda adalah mahasisa Universitas Gundarma angkatan 19',y)
else
if y<10 then
begin
str(y:1,angkatan2);
insert('0',angkatan2,1);
writeln('Anda adalah mahasiswa Universitas Gunadarma angkatan 20',angkatan2);
end;
readln;
end.



program String dari C++

#include
#include
using namespace std;

int main ()
{
char *line = “NAMA MAHASISWA”;

// with no arguments
string s1;
s1 = (line);
cout << "s1 adalah: " << s1 << endl;

// copy constructor
string s2 = "WAHYUDIN";
cout << "s2 adalah: " << s2 << endl;

// one argumen
string s3 = "FAHMI";
cout << "s3 adalah: " << s3 << endl;

string s4 = "RASYID";
cout << "s4 adalah: " << s4 << endl;

string s5 = "RAHMAT";
cout << "s5 adalah: " << s5 << endl;

string s6 = "MUKLIS";
cout << "s6 adalah: " << s6 << endl;

string s7 = "ADIT";
cout << "s7 adalah: " << s7 << endl;

string s8 = "BAGUS";
cout << "s8 adalah: " << s8 << endl;

string s9 = "IPANK";
cout << "s9 adalah: " << s9 << endl;

string s10 = "YUSUF";
cout << "s10 adalah: " << s10 <<endl;

system("pause");
return 0;
}

Rekayasa Perangkat Lunak


Rekayasa Perangkat Lunak
Yang dimaksud dengan
perangkat lunak adalah :
1. Perintah (program
komputer) yang bila dieksekusi
memberikan fungsi dan
unjuk kerja seperti yang
diharapkan.
2. Struktur data yang
memungkinkan program
memanipulasi informasi secara
proporsional.
3. Dokumen yang
menggambarkan operasi dan
kegunaan program.
Pemodelan dalam suatu
rekayasa perangkat lunak
merupakan suatu hal
yang dilakukan di tahapan
awal. Dalam rekayasa
perangkat lunak sebenarnya
masih memungkinkan tanpa
melakukan suatu pemodelan.
Hal itu tidak dapat lagi
dilakukan dalam suatu industri
perangkat lunak karena
dengan pemodelan maka
akan lebih mudah untuk
memahami sistem baik
pengembang perangkat lunak
itu
sendiri maupun pelanggan.
Dengan demikian pengembang
akan lebih cepat
dalam melakukan desain dan
mengkontruksi program untuk
perangkat lunak
tersebut berdasarkan model
yang sudah ada dan telah
disepakati bersama.
Pemodelan ini juga sering
disebut dengan metodologi
pengembangan sistem.
Proses
Di dalam suatu industri dikenal
berbagai macam proses,
demikian juga
halnya dengan industri
perangkat lunak. Perusahaan
yang berbeda seringkali
menggunakan proses yang
berbeda untuk menghasilkan
produk yang sama.
Tetapi produk yang berbeda
mungkin dihasilkan oleh
sebuah perusahaan dengan
menggunakan proses yang
sama. Jika proses yang
digunakan salah maka akan
mengurangi kualitas dari
produk yang dikembangkan.
Seperti produk, proses juga
memiliki atribut dan
karakteristik seperti :
• Understandability, yaitu
sejauh mana proses secara
eksplisit ditentukan dan
bagaimana kemudahan definisi
proses itu dimengerti.
• Visibility , apakah aktivitas ‐
aktivitas proses mencapai titik
akhir dalam hasil
yang jelas sehingga kemajuan
dari proses tersebut dapat
terlihat nyata/jelas.
• Supportability, yaitu sejauh
mana aktivitas proses dapat
didukung oleh CASE.
• Acceptability, apakah proses
yang telah ditentukan oleh
insinyur dapat
diterima dan digunakan dan
mampu bertanggung jawab
selama pembuatan
produk perangkat lunak.
• Reliability , apakah proses
didesain sedikian rupa
sehingga kesalahan proses
dapat dihindari sebelum terjadi
kesalahan pada produk.
• Robustness, dapatkah proses
terus berjalan walaupun
terjadi masalah yang
tak diduga.
• Maintainability , dapatkah
proses berkembang untuk
mengikuti kebutuhan
atau perbaikan.
• Rapidity , bagaimana
kecepatan proses pengiriman
sistem dapat secara
lengkap memenuhi spesifikasi.
Model
Model proses perangkat lunak
masih menjadi objek
penelitian. Ada banyak
model umum atau paradigma
yang digunakan untuk
mengembangan perangkat
lunak, antara lain:
• Pendekatan Waterfall
Berisi rangkaian aktivitas
proses yaitu spesifikasi
kebutuhan, implementasi
desain perangkat lunak, uji
coba dst. Setelah setiap
langkah didefinisikan,
langkah tersebut di sign off dan
pengembangan dilanjutkan
pada langkah
berikutnya.
• Pengembangan secara
evolusioner
Sistem awal dengan cepat
dikembangkan dari pelanggan
untuk memproduksi
sistem yang memenuhi
kebutuhan pelanggan tersebut
kemudian sistem
disampaikan. Sistem itu
mungkin diimplementasikan
kembali dengan
pendekatan yang lebih
terstruktur untuk
menghasilkan sistem yang
kuat dan
maintable.
• Transformasi formal
Pendekatan ini berdasarkan
pembuatan spesifikasi sistem
formal secara
matematik dan transformasi
spesifikasi dengan
menggunakan metode
matematik atau dengan suatu
program. Transformasi ini
adalah correctness
preserving, ini berarti bahwa
kita dapat yakin program yang
dikembangkan
sesuai dengan spesifikasi.
• Penggabungan sistem dengan
menggunakan komponen ‐
komponen yang
dapat digunakan kembali
( reusable ).
Teknik ini menganggap
bagian‐ bagian dari sistem
sudah ada. Proses
pengembangan sistem lebih
berfokus pada penggabungan
bagian‐ bagian
daripada pengembangan tiap
bagian yang sudah ada
tersebut.
• Berorientasi objek
Teknik ini merupakan teknik
terbaru yang sekarang banyak
digunakan dan
terus dikembangkan. Teknik
ini memandang segala sesuatu
sebagai objek
sehingga dengan mudah
pengembang memahami
sistem yang akan
dikembangkannya.
Secara umum metodologi ini
meliputi serangkaian tugas
yang luas seperti
analisis kebutuhan, desain,
konstruksi program,
pengujian, dan pemeliharaan.
Definisi Analisis Kebutuhan
Sistem
Menurut Yogiyanto (1995)
analisis sistem adalah
penguraian dari suatu
sistem informasi yang utuh
kedalam bagian ‐bagian
komponennya dengan maksud
untuk mengidentifikasikan dan
mengevaluasi permasalahan,
kesempatan,
hambatan yang terjadi dan
kebutuhan yang diharapkan
sehingga dapat diusulkan
perbaikan. Sedangkan
menurut Kristanto (2003)
analisis sistem adalah suatu
proses mengumpulkan dan
menginterpretasikan
kenyataan‐ kenyataan yang
ada,
mendiagnosa persoalan dan
menggunakan keduanya untuk
memperbaiki sistem.
Analis Kebutuhan Sistem
Menurut Yogiyanto (1995)
analis sistem (analis informasi)
adalah orang
yang menganalis sistem
(mempelajari masalah ‐
masalahan yang timbul dan
menentukan kebutuhan
pemakai sistem) untuk
mengidentifikasikan
pemecahan
permasalahan tersebut.
Sedangkan menurut Kristanto
(2003) analis sistem adalah
orang yang mempunyai
kemampuan untuk
menganalisis sebuah sistem,
memilih
alternatif pemecahan masalah
dan menyelesaikan masalah
tersebut dengan
menggunakan komputer.
Peranan Analis Kebutuhan
Sistem
Analis sistem secara sistematis
menilai bagaimana fungsi
bisnis dengan cara
mengamati proses input dan
pengolahan data serta proses
output informasi
untuk membantu peningkatan
proses organisasional. Dengan
demikian, analis
sistem mempunyai tiga
peranan penting, yaitu :
1. Sebagai konsultan
2. Sebagai ahli pendukung
3. Sebagai agen perubahan
Adapun tugas‐ tugas yang
dilakukan oleh seorang analis
sistem adalah
sebagai berikut :
1. mengumpulkan dan
menganalisis semua dokumen,
file, formulir yang
digunakan pada sistem yang
telah berjalan.
2. menyusun laporan dari
sistem yang telah berjalan dan
mengevaluasi
kekurangan‐ kekurangan pada
sistem tersebut dan
melaporankan semua
kekurangan tersebut kepada
pemakai sistem.
3. merancang perbaikan pada
sistem tersebut dan menyusun
sistem baru.
4. menganalisis dan menyusun
perkiraan biaya yang
diperlukan untuk sistem
yang baru dan memberikan
argumen tentang keuntungan
yang dapat
diperoleh dari pemakian sistem
yang baru tersebut.
5. mengawasi semua kegiatan
terutama yang berkaitan
dengan sistem yang baru
tersebut.
Waterfall
Model ini menawarkan cara
pembuatan perangkat lunak
secara lebih nyata.
Langkah ‐langkah yang penting
dalam model ini adalah :
• Penentuan dan analisis
spesifikasi
Jasa, kendala dan tujuan
dihasilkan dari konsultasi
dengan pengguna sistem.
Kemudian semuanya itu dibuat
dalam bentuk yang dapat
dimengerti oleh user
dan staf pengembang.
• Desain sistem dan perangkat
lunak
Proses desain sistem membagi
kebutuhan‐kebutuhan menjadi
sistem
perangkat lunak atau
perangkat keras. Proses
tersebut menghasilkan sebuah
arsitektur sistem keseluhan.
Desain perangkat lunak
termasuk menghasilkan
fungsi sistem perangkat lunak
dalam bentuk yang mungkin
ditransformasi ke
dalam satu atau lebih program
yang dapat dijalankan.
• Implementasi dan ujicoba unit
Selama tahap ini desain
perangkat lunak disadari
sebagai sebuah program
lengkap atau unit program. Uji
unit termasuk pengujian
bahwa setiap unit
sesuai spesifikasi.
• Integrasi dan ujicoba sistem
Unit program diintegrasikan
dan diuji menjadi sistem yang
lengkap untuk
menyakinkan bahwa
persyaratan perangkat lunak
telah dipenuhi. Setelah
ujicoba, sistem disampaikan ke
pelanggan
• Operasi dan pemeliharaan
Normalnya, ini adalah phase
yang terpanjang. Sistem
dipasang dan digunakan.
Pemeliharaan termasuk
pembetulan kesalahan yang
tidak ditemukan pada
langkah sebelumnya.
Perbaikan implementasi unit
sistem dan peningkatan
jasa sistem sebagai kebutuhan
baru ditemukan.
Dalam prakteknya, setiap
langkah sering tumpang tindih
dan saling
memberi informasi satu sama
lain. Proses perangkat lunak
tidak linier dan
sederhana tapi mengandung
urutan iterasi dari aktivitas
pengembangan. Selama
di langkah terakhir, perangkat
lunak telah digunakan.
Kesalahan dan kelalaian
dalam menentukan kebutuhan
perangkat lunak original dapat
diatasi.
Sayangnya, model yang banyak
mengandung iterasi sehingga
membuat
sulit bagi pihak manajemen
untuk memeriksa seluruh
rencana dan laporan. Maka
dari itu, setelah sedikit iterasi,
biasanya bagian yang telah
dikembangkan akan
dihentikan dan dilanjutkan
dengan langkah
pengembangan selanjutnya.
Masalahmasalah
selama resolusi selanjutnya,
dibiarkan atau diprogram.
Pemberhentian
yang prematur dari
persyaratan akan berarti
bahwa sistem tidak akan
sesuai
dengan keinginan user.
Mungkin juga sistem
terstruktur secara jelek yang
sebenarnya merupakan
masalah desain akan dibiarkan
karena terkalahkan oleh
trik implementasi.
Masalah pendekatan waterfall
adalah ketidakluwesan
pembagian project
ke dalam langkah yang nyata/
jelas. Sistem yang disampaikan
kadang‐kadang tidak
dapat digunakan sesuai
keinginan pelanggan. Namun
demikian model waterfall
mencerminkan kepraktisan
engineering. Konsekuensinya,
model proses perangkat
lunak yang berdasarkan pada
pendekatan ini digunakan
dalam pengembangan
sistem perangkat lunak dan
hardware yang luas.
Pengembangan secara
Evolusioner
Model ini berdasarkan pada ide
pengembangan pada
implementasi awal
yang akan menghasilkan
komentar pemakai sehingga
dapat dilakukan perbaikan
melalui banyak versi sampai
sistem yang mencukupi dapat
dikembangan. Selain
memiliki aktivitas ‐aktivitas
yang terpisah model ini
memberikan feedback dengan
cepat dan serentak.
Terdapat 2 tipe pada model ini,
yaitu :
1. Pemprograman evolusioner
Dimana tujuan proses adalah
bekerjasama dengan
pelanggan untuk
menghasilkan kebutuhan‐
kebutuhan dan menyampaikan
sistem akhir kepada
pemakai atau pelanggan.
Pengembangan dimulai dengan
bagian‐ bagian
sistem yang dimengerti. Sistem
dikembangkan melalui
penambahan features
sesuai yang diusulkan oleh
pelanggan.
2. Pemodelan
Dimana tujuan pengembangan
evolusioner pada tipe ini
adalah mengetahui
kebutuhan‐kebutuhan
pelanggan dan
mengembangkan difinisi
kebutuhan
yang lebih baik untuk sistem.
Model/contoh difikuskan pada
penelitian
bagian‐ bagian kebutuhan
pelanggan yang kurang
dimengerti.
Pemprograman evolusioner
penting saat sulit untuk
membuat spesifikasi
sistem secara rinci. Beberapa
orang mungkin setuju bahwa
semua sistem masuk
dalam tipe ini. Namun,
pemprograman evolusioner
banyak digunakan dalam
pengembangan sistem AI
(artificial intelligence) yang
berusaha untuk menyamai
kemampuan manusia. Kita
tidak mungkin membuat
spesifikasi yang rinci untuk
perangkat lunak yang
menyamai manusia karena kita
tidak mengerti bagaimana
manusia menjalankan tugas‐
tugas mereka.
Pendekatan evolusioner
biasanya lebih efektif daripada
pendekatan
waterfall untuk hal
pengembangan perangkat
lunak yang harus dengan
segera
dapat memenuhi kebutuhan
pelanggan. Namun, dari segi
teknik dan manajemen,
model ini memiliki masalah
mendasar yaitu:
• Proses tidak visibel.
Manager‐manager
membutuhkan “deliverables”
yang teratur untuk
mengukur kemajuan. Jika
sistem dikembangkan dengan
cepat akan terjadi
pemborosan pada pembuatan
dokumen yang
menggambarkan setiap versi
sistem.
• Sistem ‐sistem biasanya
kurang terstruktur
Kecenderungan perubahan
yang terus menerus akan
mengurangi stuktrur dari
perangkat lunak. Evolusi
perangkat lunak terlihat sulit
dan mahal.
• Ketrampilan khusus jarang
dimiliki
Tidak jelas batasan
ketrampilan yang normal
dalam rekayasa perangkat
lunak
yang mungkin dapat
digunakan secara efektif dalam
model pengembangan
ini. Kebanyakan sistem yang
dikembangkan melalui cara ini
telah
diimplementasikan oleh
kelompok kecil yang memiliki
ketrampilan yang tinggi
dan motivasi yang kuat.
Untuk memecahkan masalah ‐
masalah tersebut, kadang‐
kadang tujuan dari
pengembangan evolusioner
adalah mengembangkan
contoh sistem. Contoh ini
digunakan untuk mengerti dan
mevalidasikan spesifikasi
sistem. Disinilah
pengembangan evolusioner
merupakan bagian dari
beberapa proses yang lebih
luas ( seperti model waterfall ).
Karena masalah ‐masalah
tersebut, sistem dengan
skala besar biasanya tidak
dikembangkan melalui cara ini.
Pengembangan
evolusioner lebih tepat untuk
pengembangan sistem yang
relatif kecil.
Masalah‐ masalah mengenai
perubahan sistem yang ada
dihindari dengan
mengimplementasi ulang
sistem keseluruhan kapanpun
perubahan yang
signifikan diperlukan. Jika
pemodelan digunakan, tidak
terlalu mahal.
Spiral Boehm
Model proses nyata waterfall
yang berorientasi dokumen
telah diambil
sebagai standar umum oleh
banyak agen pemerintah dan
pembuat perangkat
lunak. Jadi, tidak mudah
melupakan model tersebut
walaupun masih terdapat
masalah‐ masalah yang
ditimbulkan dalam model
tersebut. Kita membutuhkan
sebuah proses yang lebih baik
untuk manajemen yang dapat
menggunakan
semua model umum seperti
yang telah kita bicarakan
sebelumnya. Model
perbaikan tersebut juga harus
memenuhi kebutuhan‐
kebutuhan pembuat
perangkat lunak. Pendekatan
alternatif diusulkan oleh
Boehm (1988). Boehm
mengusulkan sebuah model
yang secara eksplisit
menjelaskan bahwa resiko
yang
disadari mungkin membentuk
dasar model proses umum.
Model Boehm bebrbentuk
spiral. Setiap loop mewakili
sebuah tahap dari
proses perangkat lunak. Tidak
ada tahap yang tetap dalam
model ini. Manajemen
harus memutuskan bagaimana
membentuk proyek kedalam
tahap‐tahap.
Perusahaan biasanya bekerja
dengan beberapa model umum
dengan tahap
tambahan untuk proyek
khusus atau ketika masala ‐
masalah ditemukan selama
pembuatan proyek.
Setiap loop dibagi dalam 4
sektor, yaitu :
1. Pembuatan tujuan
Tujuan, hambatan dalam
proses ataupun produk serta
resiko‐resiko proyek
ditentukan. Rencana rinci
manajemen juga ditulis
lengkap. Pembuatan
strategi‐strategi alternatif
direncanakan sesuai dengan
resiko yang ada.
2. Perkiraan dan pengurangan
resiko
Untuk setiap resiko yang telah
diidentifikasi, akan dibuat
analisis rincinya.
Kemudian diambil langkah ‐
langkah untuk mengurangi
resiko. contohnya,
jika ada resiko bahwa
persyaratan‐ persyaratan tidak
tepat maka sebuah
model contoh mungkin dapat
dikembangkan.
3. Pengembangan dan validasi
Setelah evaluasi resiko, sebuah
model pengembangan untuk
sistem dipilih.
Misalnya, jika resiko interface
pengguna yang dominan maka
model
pengembangan yang tepat
mungkin pengembangan
evolusioner dengan
menggunakan model contoh
(prototipe).
Jika resiko keselamatan yang
diutamakan, model
pengembangan yang
sesuai adalah transformasi
formal dan seterusnya. Model
waterfall
mungkin tepat digunakan jika
resiko yang diutamakan adalah
integrasi
sistem.
4. Perencanaan
Jika diputuskan untuk
melanjutkan pada loop spiral
berikutnya maka
proyek dibicarakan kembali
dan rencana dibuat untuk
tahap selanjutnya.
Tidak perlu untuk
menggunakan satu model
tunggal pada setiap loop spiral
bahkan dalam keseluruhan
sisten perangkat lunak. Model
spiral encompasses
model lainnya. Pemodelan
digunakan pada salah satu
psiral untuk memecahkan
masalah kebutuhan. Kemudian
dapat diikuti oleh model
konvensional, waterfall.
Transformasi formal digunakan
untuk mengembangkan
bagian‐ bagian sistem
yang memiliki persyaratan
keselamatan yang tinggi dan
pendekatan reuse
digunakan untuk
pengimplementasian bagian ‐
bagian lain dari sistem data
manajemen.
Pada implementasinya, model
spiral ini juga banyak
digunakan, tetapi
biasanya dikombinasikan
dengan model yang lain.
Pemodelan waterfall, yang
sangat bagus dalam
menentukan millestones dan
pemodelan spiral, yang sangat
bagus dengan menggunakan
prototyping, merupakan
kombinasi yang sering
dipakai di dalam kontrak ‐
kontrak untuk perangkat lunak
dewasa ini.
Manajemen Resiko
Perbedaan yang mendasar
antara model spiral dengan
model lainnya
adalah bahwa model spiral
dengan eksplisit menyadari
resiko‐resiko yang ada.
Resiko adalah konsep yang
sulit didefinisikan secara tepat.
Secara informal resiko
adalah sesuatu yang sederhana
yang dapat menyebabkan
kesalahan. Contohnya,
jika bertujuan menggunakan
pemprograman bahasa baru
(new programming
language), resiko yang
mungkin adalah alat
pengumpul yang digunakan
tidak
reliabel dan tidak
menghasilkan code objek yang
efesien.
Resiko adalah sebagai hasil
ketidakcukupan informasi.
Resiko tersebut
dapat dipecahkan dengan
pengenalan beberapa kegiatan
yang dapat menutupi
informasi yang kurang
menyakinkan. Dalam contoh
diatas, resiko mungkin dapat
diatasi dengan survey pasar
untuk menemukan alat
pengumpul mana yang dapat
digunakan dan bagaimana
kebaikan alat tersebut. Jika
sistem ternyata tidak
sesuai maka keputusan untuk
menggunakan bahasa baru
harus diubah.
Siklus spiral dimulai dengan
penguraian tujuan ‐tujuan
seperti performance,
kegunaan, dan seterusnya.
Cara alternatif dalam
pencapaian tujuan dan
hambatan dipergunakan
dengan sebaik ‐baiknya
kemudian diperhitungkan.
Setiap
alternatif diperhitungan
bertentangan dengan tujuan.
Ini biasanya menghasilkan
identifikasi sumber resiko
proyek. Langkah selanjutnya
adalah mengevaluasi
resiko‐resiko ini dengan
aktivitas seperti analisis yang
lebih detail, pembuatan
model/contoh, simulasi dan
seterusnya. Untuk
menggunakan model spiral,
Boehm menyarankan sebuah
bentuk umum yang dipenuhi
dalam setiap daerah
spiral. Bentuk ini mungkin
dilengkapi pada sebuah level
abtrak atau perkiraan
rinci yang imbang dari
pengembangan produk.
Analisis Kebutuhan
Untuk menganalisis kebutuhan
sistem, tool yang biasa dipakai
adalah DFD
(Data Flow Diagram). Jadi DFD
ini sangat penting bagi seorang
analis sistem.
Penggunaan DFD sebagai
Modeling Tool dipopulerkan
Oleh Demacro & Yordan
(1979) dan Gane & Sarson
(1979) dengan menggunakan
pendekatan Metoda
Analisis Sistem Terstruktur.
DFD menggambarkan arus
data dari suatu sistem
informasi, baik sistem
lama maupun sistem baru
secara logika tanpa
mempertimbangkan
lingkungan
fisik dimana data tersebut
berada.
Simbol dalam DFD
External Entity
External Entity adalah
merupakan entitas diluar
sistem yang berinteraksi
dengan sistem yang akan
dikembangkan. External Entity
ini dapat berupa orang,
organisasi, maupun sistem
yang lain. Contoh dari External
Entity ini adalah
Pelanggan, Mahasiswa,
Yayasan, dan lain sebagainya.
Process
Merupakan kegiatan atau
pekerjaan yang dilakukan oleh
orang atau mesin
komputer, dimana aliran data
masuk kemudian
ditranformasikan keluar
(aliran
data keluar).
Data Flow
Data Flow merupakan aliran
data yang masuk maupun
keluar dari suatu
Process dan disimbolkan
dengan anak panah. Aliran
data dapat berbentuk sebagai
berikut :
a. Formulir atau dokumen yang
digunakan perusahaan
b. Laporan tercetak yang
dihasilkan sistem
c. Output dilayar komputer
d. Masukan untuk komputer
e. Komunikasi ucapan
f. Surat atau memo
g. Data yang dibaca atau
direkam di file
h. Suatu isian yang dicatat
pada buku agenda
i. Transmisi data dari suatu
komputer ke komputer lain
Data ada tiga kemungkinan,
antara lain :
1. Packet of Data
Bila dua data mengalir dari
suatu sumber yang sama ke
tujuan yang sama,
maka harus dianggap sebagai
suatu aliran data yang tunggal.
2. Diverging Data Flow
Bila dari suatu sumber
mengalir data yang menyebar
ke tujuan yang berbeda,
menunjukan bahwa aliran data
tersebut merupakan tembusan
dari aliran
data.
3. Convergen Data Flow
Data yang mengalir dari
sumber yang berbeda menuju
ke tujuan yang sama.
Data Store
Merupakan tempat
penyimpanan data yang dapat
berupa suatu file atau
suatu sistem database dari
suatu komputer, suatu arsip/
dokumen, suatu
agenda/buku.
Process Decompotition
Merupakan aktifitas memecah
suatu sistem menjadi
komponen ‐komponen
sub‐sistem dimana Komponen‐
komponen sub‐sistem tersebut
memperlihatkan
detail dari sistem diatasnya.
Pembuatan DFD – Context
Diagram
Diagram atas atau yang paling
awal dibuat dari sistem adalah
Context
Diagram (Diagram Konteks)
yang memperlihatkan ruang
lingkup (gambaran) dari
sistem tersebut. Pada diagram
konteks ini semua External
Entity yang terlibat
dengan sistem diidentifikasi.
Selain itu juga
mengidentifikasi aliran data
baik yang
masuk maupun keluar dari
sistem serta arah aliran
tersebut. Dalam diagram
konteks hanya ada satu proses
saja yaitu proses 0 dan belum
memperlihatkan
penyimpanan data.