BAB II LANDASAN TEORI
2.1 PARADIGMA SOFTWARE ENGINEERING Krisis mengenai Perangkat Lunak (Software) tidak akan hilang hanya dalam waktu satu malam. Mengenali permasalahan dan penyebabnya dan pengujian perangkat lunak menjadi langkah yang pertama dalam penyelesaiannya. Kemudian, hasil tersebut harus dapat menyediakan bantuan praktis kepada pengembang perangkat lunak, meningkatkan mutu perangkat lunak dan akhirnya adalah "dunia perangkat lunak " untuk bisa seiring dengan " dunia perangkat keras ". Tidak ada pendekatan tunggal terbaik
dalam suatu solusi untuk
menyelesaikan krisis dalam perangkat lunak. Bagaimanapun juga, dengan mengkombinasikan metoda secara menyeluruh untuk semua tahapan dalam pengembangan perangkat lunak merupakan alat yang lebih baik untuk mengotomatisasi metode ini; mengimplementasikan software yang lebih baik; teknik yang lebih baik untuk jaminan kwalitas perangkat lunak; dan suatu filosofi untuk koordinasi, kontrol, dan pengelolaan, kita dapat mencapai suatu disiplin untuk pengembangan perangkat lunak disiplin ini dikenal dengan nama rancangbangun perangkat lunak (Software Engineering). Istilah Software Engineering merupakan proses pengembangan perangkat lunak yang merupakan subsistem dari pengembangan sistem informasi
6
2.1.1 Definisi Software Engineering (Rancang-Bangun Perangkat Lunak) Definisi awal dari rancang-bangun perangkat lunak diutarakan oleh Fritz Bauer dalam suatu konferensi, dimana pada saai itu dijadikan sebagai pokok materi yang akan dibahas. Definisinya adalah : The establishment and use of sound engineering principles in order to obtain
economically software that is reliable and works efficiently on
real machines.(Roger S Pressman, Software Engineering A Practitioner’s Approach: Hal 19: Singapore 1987)
Dari sekian banyak definisi yang telah diusulkan, semua definisi tersebut mengacu pada pentingnya rancang-bangun dalam pengembangan software. Rancang-bangun perangkat lunak merupakan suatu pertumbuhan diluar perangkat keras dan rancang-bangun sistem. yang meliputi tiga kunci pokok yaitu : cara, alat dan prosedur yang memungkinkan manajer untuk mengendalikan proses pengembangan software dan menyediakan praktisi dengan tujuan untuk membangun perangkat lunak yang berkualitas. Metoda rancang-bangun perangkat lunak menyediakan cara teknis "bagaimana cara" untuk membangun perangkat lunak, caranya meliputi suatu rangkaian tugas yang meliputi: perencanaan proyek dan penilaian; analisa sistem dan software yang dibutuhkan; perancangan struktur data, perancangan program, dan algoritma program; pengkodean; pengujian; dan pemeliharaan. Metoda untuk rancang-bangun perangkat lunak sering memperkenalkan suatu notasi grafis atau
7
berorientasi bahasa khusus dan satu set kriteria untuk perangkat lunak yang berkualitas. Alat rancang-bangun perangkat lunak
menyediakan pendukung semi-
otomatis atau otomatis untuk mendukung suatu metode. Alat yang telah ada untuk mendukung masing-masing metoda diatas, ketika peralatan sudah terintegrasi sedemikianrupa sehingga informasi yang diciptakan oleh satu alat dapat digunakan oleh alat yang lain, suatu sistem untuk menunjang pengembangan software, dikenal dengan nama Computer-Aided Software Engineering (CASE). CASE mengkombinasikan perangkat lunak, perangkat keras dan suatu rancangbangun perangkat lunak data base (suatu struktur data yang berisi informasi penting tentang analisa, disain, kode dan pengujian) untuk menciptakan suatu lingkungan rancang-bangun perangkat lunak yang dapat disamakan menjadi CAD/CAE (Computer-Aided Design/Engineering) untuk perangkat keras.
2.1.2 Siklus Hidup Klasik (The Classic Life Cycle) Gambar 2.1 menggambarkan paradigma Siklus Hidup Klasik (The Classic Life Cycle)1 untuk rancang-bangun perangkat lunak (Software Engineering), yang lebih dikenal dengan nama "Model air terjun". Paradigma Siklus hidup klasik menuntut sesuatu yang sistematis, yang mendekati contoh pengembangan software yang dimulai pada tingkat sistem sampai pada analisa, disain, pengkodean, pengujian dan pemeliharaan, Dalam siklus rancang-bangun yang konvensional memiliki tahapan yang meliputi : 1
Pressman, Roger S., Software Engineering A Practitioner’s Approach, Singapore, 1987
8
System engineering Analysis Design Code Testing Maintenance
Gambar 2.1 The Classic Life Cycle 1. Rancang-Bangun Sistem (System Engineering) dan Analisa. Karena perangkat lunak selalu merupakan bagian dari suatu sistem yang besar, pada tahap ini dimulai dengan penentuan kebutuhan untuk semua unsurunsur sistem dan kemudian membagi menjadi beberapa subset dari kebutuhan ini yang salah satunya ke dalam perangkat lunak. Gambaran Sistem ini dibutuhkan apabila perangkat lunak harus berhubungan dengan unsur-unsur lain seperti perangkat keras, orang-orang dan data base. Rancang-bangun sistem dan analisa
9
meliputi kebutuhan yang dikumpulkan pada tingkat sistem yang lebih rendah dari Top-Level desain dan analisa.
2. Analisa Kebutuhan Perangkat Lunak. Proses pengumpulan kebutuhan diintensifkan dan secara khusus terpusat pada perangkat lunak. Untuk memahami sifat alamiah program dalam pembuatannya, software engineer ("analis") harus memahami informasi tentang perangkat lunak, seperti halnya fungsi yang akan dijalankan dan kemampunnya. Kebutuhan
dari sistem dan perangkat lunak didokumentasikan dan ditinjau
bersama dengan pelanggan. 3. Disain Disain perangkat lunak benar-benar suatu proses yang mempunyai banyak tahapan yang berfokus pada 3 atribut program, yaitu : Struktur data, Arsitektur perangkat lunak dan Mengenai cara yang lebih mendetail. Proses disain menterjemahkan kebutuhan ke dalam suatu presentasi perangkat lunak yang dapat digunakan sebagai penilaian kualitas sebelum memulai pengkodean. 4. Pengkodean (Coding) Disain harus bisa diterjemahkan ke dalam suatu format yang terbaca oleh mesin. Langkah pengkodean yang dilaksanakan pada bagian ini. Jika disain dilakukan dalam suatu cara yang terperinci, pengkodean dapat terpenuhi secara mekanistik. 5. Pengujian (Testing)
10
Tahap ini bisa dilakukan hanya apabila proses pengkodean telah selesai. Proses pengujian memusatkan pada logika internal dari
perangkat lunak,
meyakinkan bahwa semua statemen telah diuji, dan pada fungsional eksternal yaitu melaksanakan test untuk meyakinkan masukan yang digambarkan itu akan menghasilkan keluaran yang nyata yang disepakati sebagai hasil telah diminta.
6. Pemeliharaan (Maintenance) Perangkat lunak lambat laun niscaya akan mengalami perubahan setelah digunakan oleh pelanggan (suatu perkecualian mungkin penambahan perangkat lunak). Perubahan akan terjadi bisa disebabkan oleh perangkat lunak harus menyesuaikan diri untuk mengakomodasi perubahan dalam
lingkungan
eksternalnya (misalnya,, suatu perubahan diperlukan oleh karena sistem operasi atau perangkat keras yang digunakan telah berbeda dan lebih maju), atau disebabkan oleh keperluan fungsional pelanggan atau peningkatan kemampuan software. Pemeliharaan perangkat lunak berlaku untuk semua tahapan dalam siklus kehidupan untuk program yang telah ada.
Di antara permasalahan yang kadang-kadang muncul dalam penerapan paradigma siklus hidup adalah : 1.Proyek yang nyata jarang mengikuti tahapan dari model proses. Hal ini selalu terjadi dan menciptakan permasalahan di dalam paradigma aplikasi. 2.Merupakan hal yang sangat sulit bagi pelanggan baru untuk menyatakan semua kebutuhannya dengan jelas. Siklus hidup klasik membutuhkannya
11
dan merupakan hambatan dalam mengakomodasi ketidak-pastian yang alami yang telah ada pada awal dari banyak proyek. 3.Pelanggan harus mempunyai kesabaran. Suatu bagain program tidak akan tersedia sampai akhir dari batas waktu pelaksanaan proyek. Kesalahan tidak dapat diketahui sampai program selesai dikerjakan.
Masing-Masing permasalahan diatas merupakan hal yang nyata. Bagaimanapun juga, paradigma siklus hidup klasik telah menjadi batasan dan hal yang penting dalam pekerjaan rancang-bangun perangkat lunak.
2.2 Definisi Program Aplikasi Banyak pendapat dalam hal pendefinisian pengertian tentang Program Aplikasi diantaranya, yaitu :
“Program Aplikasi merupakan perangkat lunak yang menentukan bagaimana sumber data digunakan untuk menyelesaikan masalah para pengguna”. (http://bebas.vlsm.org/v06/kuliah/sistem operasi/buku/sistemoperasi/p1c1.html)
Program aplikasi berbeda dengan sistem operasi (yang menjalankan komputer) dan utility (yang melaksanakan perawatan atau tugas-tugas umum). Tergantung dari tujuan pekerjaan yang dimaksudkan, suatu aplikasi dapat digunakan untuk memanipulasi teks, angka, grafik atau kombinasi dari unsurunsur tersebut.
12
2.3 Konsep Dasar Flowchart Program Flowchart program dapat diartikan
sebagai suatu bagan yang
menggambarkan arus logika dari data yang akan diproses dalam suatu program dari awal sampai akhir. Flow Chart program merupakan alat yang berguna bagi programmer untuk mempersiapkan pembuatan suatu program. Flow chart terdiri dari simbol-simbol yang mewakili fungsi-fungsi dalam langkah program dan garis alir (flow lines) menunjukkan urutan dari simbol-simbol yang akan dikerjakan. Berikut ini adalah simbol-simbol flow chart program menurut ANSI (American National Standard Institute) diantaranya : a. Simbol Titik Terminal. Simbol titik terminal (terminal point symbol) digunakan untuk menunjukkan awal atau akhir dari suatu proses program.
Gambar 2.2 Simbol Titik Terminal b. Simbol Persiapan. Simbol persiapan (preparation symbol) digunakan untuk memberi nilai awal suatu besaran pada proses program.
Gambar 2.3 Simbol Persiapan
13
c. Simbol Proses. Digambarkan dengan simbol persegi panjang. Simbol proses ini digunakan untuk mewakili suatu proses yang dilakukan oleh program (Secara komputerisasi).
Gambar 2.4 Simbol Proses d. Simbol Keputusan. Simbol keputusan (decision symbol) digambarkan berupa belah ketupat, dimana simbol ini digunakan untuk suatu penyelesaian kondisi (if – then) di dalam proses program.
Gambar 2.5 Simbol Keputusan e. Simbol Proses Terdefinisi. Simbol proses terdefinisi (predifined process symbol), digambarkan dengan simbol persegi panjang. Simbol proses terdefinisi (predifined process symbol)
14
ini digunakan untuk menunjukkan suatu operasi yang rinciannya ditunjukkan di tempat lain.
Gambar 2.6 Simbol Proses Terdefinisi f. Simbol Penghubung. Simbol penghubung (connector symbol) merupakan simbol yang digunakan untuk menunjukkan sambungan dari bagan alir yang terputus di halaman yang sama atau dengan halaman lainnya. Tanda hubung diperlukan bila terjadi keterbatasan luas
atau untuk menghindari keruwetan pada flow chart.
Penghubung dalam satu halaman disimbolkan dengan lingkaran (a), sedang penghubung dengan halaman lain digambarkan dengan segilima (b).
(a)
(b)
Gambar 2.7 (a) Simbol Penghubung Satu Halaman, (b) Simbol Penghubung Lain Halaman g. Simbol Garis Alir.
15
Digambarkan berupa garis lurus yang diberi arah panah. Simbol garis alir (flow lines symbol) ini digunakan untuk menunjukkan arus dari suatu proses program.
Gambar 2.8 Simbol Garis Alir h. Simbol Input/output. Digambarkan
sebagai
simbol
untuk
input/output
dalam
program.
Penggambaran simbol ini sebagai tanda bahwa apa yang ada dalam simbol ini sebagai masukkan untuk mewakili data masuk ataupun sebagai keluaran yang mewakili data yang dihasilkan program.
Gambar 2.9 Simbol Input/Output Bagan alir program dapat terdiri dari dua macam, yaitu bagan alir logika program (program logic flowchart) dan bagan alir program komputer terinci (detailed computer program flowchart). Bagan alir logika program digunakan untuk menggambarkan tiap-tiap langkah di dalam program komputer
secara
logika. Bagan alir logika program ini dipersiapkan oleh analis sistem. Sedangkan bagan alir program komputer terinci digunakan untuk menggambarkan instruksiinstruksi program komputer secara terinci. Bagan alir ini biasanya dipersiapkan oleh programmer.
16
2.4 Konsep Dasar Entity Relationship Diagram Entity Relationship Diagram (ERD) adalah suatu model jaringan yang menggunakan
data
yang
disimpan dalam
sistem
secara
abstrak. Entity
relationship diagram digunakan untuk menunjukkan entitas atau objek data dan hubungan yang ada pada objek tersebut. Komponen-komponen dari entity relationship diagram adalah : a. Entity Entity adalah suatu objek yang dapat dibedakan secara unik dari objek lainnya. Entity pada entity relationship diagram
menggunakan
simbol
persegi
panjang.
Gambar 2.10 Entity b. Attribute Entity Attribute Entity adalah karakteristik yang menjadi ciri dari entity. Penggambaran attribute entity pada entity relationship diagram menggunakan simbol ellips.
Gambar 2.11 Attribute Entity
17
Key Attribute Gambar 2.12 Key Attribute c. Relationship Relationship adalah hubungan yang terjadi antara satu entitas atau lebih, penggambarannya menggunakan simbol diamond. Dalam entity relationship diagram dikenal adanya derajat relationship (Jumlah entity yang berhubungan dalam suatu relationship) dan cardinality ratio yang menjelaskan batasan jumlah keterhubungan antara satu entity dengan entity lainnya.
Gambar 2.13 Relationship
Derajat yang terdapat dalam komponen ini, adalah : 1.Unary Suatu relation dikatakan berderajat satu (unary) jika satu relationship dihubungkan dengan satu entity. 2.Binary Suatu relation dikatakan berderajat dua (binary) jika relationship tersebut menghubungkan dua entitas yang berbeda.
18
3.Ternery Suatu relation dikatakan berderajat tiga (ternery) jika relationship tersebut menghubungkan tiga entitas yang berbeda. Sedangkan Cardinality ratio yang terdapat dalam komponen ini, adalah : 1. Satu ke satu (1 : 1) 2.Satu ke banyak / banyak ke satu (1 : M / M : 1) 3.Banyak ke banyak (M : N)
Participation constraint pada suatu entity relationship diagram menjelaskan apakah keberadaan suatu entity tergantung pada hubungannya dengan entity lain atau tidak. Dalam hal ini terdapat dua macam Participation Constraint, Yaitu : a. Total Participation Yaitu, keberadaan suatu entity tergantung pada hubungannya dengan entity lain, digambarkan dengan dua garis penghubung antar entity dan relationship.
Gambar 2.14 Total Participation
19
b. Partial Participation Yaitu, keberadaan suatu entity tidak tergantung pada hubungannya dengan entity lain, digambarkan dengan satu garis penghubung antar entity dengan relationship.
Gambar 2.15 Partial Participation
2.5
Sekilas Tentang Jaringan Komputer (LAN) Pada permulaannya instalasi jaringan komputer (local area network)
ditujukan untuk penggunaan peralatan-peralatan periperal secara bersamaan. Sebagai contoh, satu drive hardisk dapat digunakan untuk mendukung seluruh kelompok kerja. Peralatan-peralatan keluaran yang mahal, misal printer laser dan peralatan-peralatan khusus lainnya dapat digunakan bersama, seperti PC-FAX boards, modem dengan kecepatan tinggi dan printer berwarna. Tetapi setelah jaringan berkembang dan memadu kedalam organisasi, penggunaan peralatan bersama tersebut tidak menjadi hal utama lagi dibandingkan dengan keuntungan-keuntungan jaringan lainnya. Local area network menghubungkan orang-orang sama halnya seperti hardware komputer. Hasilnya adalah jaringan elektronik dan jaringan manusia. LAN menyediakan alat efektif untuk berkomunikasi melalui electronic mail (berita elektronik) atau email dan melalui beberapa software komunikasi lain. Berita-berita dapat dikirimkan secara serentak melalui jaringan, rencana kerja dapat dirubah langsung
20
sesaat setelah terjadinya perubahan dan rapat-rapat juga dapat dijadwalkan tanpa harus melakukan beberapa kali sambungan telpon. Jaringan juga membantu memperbaharui cara mengatur aktivitas bisnis tertentu dari suatu perusahaan. Penggunaan sekelompok software aplikasi mengurangi kebutuhan untuk mengadakan rapat tatap muka secara langsung dan metode penyebaran informasi yang memerlukan waktu lama. Pada saat yang bersamaan jaringan memungkinkan peningkatan interaksi antar pegawai dari workstationnya masing-masing. Jaringan dapat juga menaikkan efektifitas komunikasi, karena orang-orang cenderung untuk mengemukakan pikirannya lebih banyak melalui tulisan dari pada melalui percakapan tidak formal. Keuntungan utama dari local area network ialah software dan data jauh lebih mudah dipelihara dan diproteksi daripada dalam keadaan standalone. Data penting dapat di back up setiap hari, atau bila perlu setiap jam. Bila software memerlukan perbaikan, proses dapat dilakukan pada salah satu sumber (resource), tidak pada setiap komputer personal yang menjalankan program tersebut.
21