Pengantar
Software
A.
AWAL PERKEMBANGAN SOFTWARE
Pemograman
software pertama tercatat dilakukan
oleh Marie Jacquard di prancis (1801) dengan menggunakan Punch-card (sebuah papan yang berlubang-lubang sesuai dengan pola
pemintalan sehingga proses pemintalan dapat berjalan secara mekanis dengan punch-card sebagai pengontrol pola).
Mesin pemintal ini dikenal dengan Jacquard Lomm yang kini dapat kita saksikan
di Museum Ilmu Pengetahuan dan Industri (Museum
of Science and Industry) di Manchester Inggris.
Seorang
ahli matematika Inggris, Geoerge Boole membuat sebuah penemuan besar. Boole
menemukan hubungan antara matematika dan logika dengan logika aljabarnya yang
saat ini logika tersebut disebut aljabar BOOLEAN (logika biner).
B.
PERKEMBANGAN SOFTWARE MODERN
John
Von Neuman yang menerapkan logika aljabar dalam pemograman komputer di Institue for Advanced Studies pada 1945.
Von Neuman mengembangkan dua teknik dalam bahasa pemograman:
1.
Shared
program technique, menyatakan hardware
computer hasrus simple, menggunakan bahasa pemograman yang rumit, sehingga
memudahkan pemograman ulang. Program ini menghasilkan sequential/linear programming (program yang berjalan berurutan
dalam satu urutan baku yang kaku).
2.
Conditional
control transfer, menyatakan perlu adanya
komponen berupa sub-rutin dalam bahasa pemograman. Program ini menghasilkan
penerapan libraries yang bisa
digunakan secara berulang-ulang oleh program yang berbeda.
Dalam perkembangan software, programmer harus menerjemahkan intruksi ke bahasa mesin (komputer)
yang hanya terdiri dari switch on (1)
dan off (0) yang disebut kode biner (binary code).
Pada tahun 1949, muncul
bahasa Short-Code, yang menuntut programmer menulis kode mesin 0 dan 1
secara langsung, kemudian 3 tahun berselang, pada tahun 1951, muncul compiler(kode pemograman yang digunakan
untuk menerjemahkan bahasa manusia ke bahasa mesin) pertama: A-0.
Pasca perang dunia II IBM
tahun 1959 mengeluarkan komputasi COBOL (Common
Business Oriented Language), sebuah bahasa pemograman yang mudah digunakan
dan memiliki struktur seperti bahasa manusia.
Pada tahun 1958 ALGOL
(ALGOrithmic Languange) lahir dan merpakan akar dari bahsa pemograman yang ada
sekarang seperti pascal, C, C++ dan Java. ALGOL merupakan bahasa pemograman
pertama yang memiliki grammar formal
yang disebut BNF (Backus-Naar Form).
Pascal lahir pada tahun 1968
yang ditemukan oleh Niklaus Wirth, yang merupakan bahasa pemograman yang
sukses, karena memadukan seluruh kebaikan dari ALGOL, FORTRAN, dan COBOL.
Sehingga dalam pascal terdapat fitur kombinasi, kemampuan transaksi
(input/output) dan fitur matematis yang lengkap.
Bahasa C ditemukan oleh
Dennis Ritchie pada tahun 1972 di Bell Labs, New Jersey.
Bahasa C++ dikembangkan dari
bahasa C milik Dennis oleh Bjarne Stroustroup pada tahun 1983 yang merupakan
bahasa yang paling stabil.
Java lahir pada tahun 1994
dari Sun Microsystem yang dikepalai Bill Joy. Ia memulai Java dalam Stealth
Project pada tahun 1991.
Microsoft pun turut masuk ke
dalam pasar pemograman web dengan ASP pada tahun 1996 yang merupakan pengembangan
Visual Basic. Pada tahun 2002, Microsoft memperkenalkan ASP.Net (dot.net).
Software merupakan bahasa yang digunakan untuk
mengoperasikan computer. Computer menerima informasi yang diolah selanjutnya
perintah tersebut disimpan, ditafsirkan, dan dilaksanakan oleh computer,
termasuk konversi informasi menjadi bentuk digital. Kumpulan intruksi tersebut
disimpan, ditafsirkan, dan dilaksanakan oleh computer, termasuk konversi
informasi menjadi bentuk digital. Kumpulan instruksi tersebut disimpan di
piringan magnetis. Untuk menjalankan program computer mengambilnya dari sarana
simpan ke RAM (Random Acccess Memory) dan isi instruksi perkembangan sejarahnya
bahasa pemograman telah mengalami perubahan kea rah kemajuan beberapa kali.
Pengadaan
Software
A.
SISTEM
DEVELOPMENT LIFECYCLE (SDLC)
Secara Fundamental, proses SDLC terdiri
atas 4 fase:
1.
Fase
1: Perencanaan
Adalah
fase fundamental untuk melakukan pemahaman tentang system informasi/software yang kan dibangun
Langkah-langkah berurut yang perlu
dilakukan dalam fase ini adalah sebagai berikut.
a.
Identifikasi
peluang, tantangan dan hambatan
b.
Analisa
kelayakan: dari sisi teknis, ekonomi dan organisasi
c.
Pembuatan
rencana kerja dan lingkup kerja
d.
Pembuatan
rencana alokasi staf
e.
Pembuatan
rencana pengendalian internal
Keluaran atau deliverable dari fase ini adalah:
a.
Dokumen
setail system
b.
Analisi
kelayakan
c.
Rencana
kerja
d.
Perencanaan
staf
e.
Asesmen
risiko
f.
Rencana
penjaminan kualitas
Dapat
kita lengkapi dengan dokumen perencanaan proyek dan dokumen persyaratan yang
terdiri dari
a.
Persyaratan
fungsional (Functional Requirement
Document) kemudian
b.
Dokumen
keamanan dan pengendalian internal (Security and Internal Control Requirement)
c.
Dokumen
persyaratan data (Data Requirement Document)
2.
Fase
2: Analisis
Fase
ini adalah fase perencanaan pengembangan system. Fase ini menjawab pertanyaan
siapa, apa, kapan, dan simana system informasi/software akan dijalankan.
Langkah-langkah yang perlu dilakukan secara
berurutan dalam fase ini adalah sebagai berikut.
a.
Penentuan
pendekatan analisis
b.
Penentuan
persyaratan dan kelayakan
c.
Pembuatan
model proses
d.
Pembuatan
model data
3.
Fase
3: Desain Sistem
Fase
dimana seluruh persyaratan yang dikehendaki untuk dijalankan oleh software diterjemahkan ke dalam bahasa
system informasi. Fase ini mejawab pertanyaan tentang bagaimana system bekerja.
Disini ita membuat spesifikasi untuk
system, subsistem, program dan database, dengan urutan langkah-langkah sebagai
berikut.
a.
Perencanaan
system fisik
b.
Perencanaan
diagram alur data
c.
Desain
arsitektur system
d.
Struktur
tampilan antar muka (interface)
e.
Penentuan
data format dan denormalisasi data
f.
Perancangan
sturktur dan spesifikasi program
Dari
fase ini yang dikeluarkan akan menjadi masukan bagi proses berikut adalah:
a.
Dokumen
model proses fisik
b.
Data
model
c.
Spesifikasi
system
d.
Desain
arsitektur
e.
Spesifikasi
hardware dan hardware
f.
Desain
antar muka
g.
Desain
penyimpanan data
h.
Desain
program
4.
Fase
4: inmplementasi
Hasil
akhir dari fase ini adalah system terinstal. Langkah-langkah yang harus kita
lakukan secara berurutan di fase ini adalah sebagai berikut.
a.
Pembuatan
system: terdiri dari proses pemograman dan pengujian
b.
Instalasi
system dan pelatihan
c.
Perawatan
(maintenance) system
d.
Audit
data review pasca implementasi
Dalam
fase ini kelyarannya yang kan menutup proses SDLC terdiri dari:
a.
Perencanaan
pengujian program
b.
Program
jadi
c.
Dokumentasi
d.
Rencana
konversi
e.
Encana
pelatihan
f.
Rencana
perawatan system
g.
Laporan
pendukung lain
h.
Laporan
audit pasca implementasi
Ada
beberapa metode yang direapkan dalam pengadaan software yaitu metode waterfall,
parallel, berfase dan prototyping,
serta metode agile.
Kemudian perbaikan terhadap system
dilakukan dengan memulai desain dan implementasi lagi sampai terbentuk system
versi kedua. Begitu seterusnya sampai system dianggap stabil dan hanya
memerlukan penyempurnaan minor.
Metode prototyping
adalah proses analisa, desain dan implementasi dilakukan berulang sampai system
selesai.
Metode terakhir adalah metode agile yang merupakan metode yang sat ini
makin berkembang sejalan dengan tuntutan system informasi.
B.
MEMILIH
METODE PENGEMBANGAN SISTEM/SOFTWARE YANG TEPAT
Sebelum menentukan metode yang kita gunakan
dalam pengembangan system/software, berikut kriteria-kriteria yang perlu
diperhatikan:
Persyaratan yang jelas dari pengguna. Jika
tidak ada kejelasan yang pasti dari persyaratan, maka metode prototyping dan agile adalah metode yang tepat.
Familiaritas dengan teknologi. Dalam pengembangan system yang menerapkan
teknologi baru,sebaiknya menggunakan metode prototyping
dan berfase.
Komleksitas system. Disrankan menggunakan metode waterfall,
parallel, dan berfase
Tuntutan kehandalan system. Dalam hal ini prototyping adalah pilihan yang terbaik. Karena
dalam prototyping, sebuah system kan terus-menerus diperbaharui sampai ia mencapai
kondisi optimal.
Waktu pengembangan yang sempit. Metode prototyping dan agile adalh metode
yang tepat karena keduanya yang paling fleksibel dan mampu melakukan
penyesuaianperubahan system secara cepat.
Tantangan ketepatan waktu. Karena banyaknya hambatan dalam penyelesaian system informasi
secara tepat waktu, metode prototyping
dan agile adalah metode yang lebih
tepat.
Komputer adalah seperangkat piranti eletronik yang
memungkinkan pemakai computer mengolah informasi secara otomatis dan sesuai
instruksi yang diberikan oleh pemakai. Computer secara otomatis akan
menerima-menyimpan-mengolah-mengomunikasikan data maupun informasi. Computer
dapat beroperasi karena dilengkapi software.
Latihan!
Jelaskan beberapa pengertian yang
digunakan dalam aplikasi perangkat lunak: data, field (ruas), record
(rekaman, cantuman), file (berkas), dan template!
Tes Formatif 1
Pilihlah satu jawaban yang paling
tepat!
1)
Computer
dapat dioperasionalkan apabila telah dilengkapi dengan software. Software
adalah ….
A.
Perangkat
lunak yang menjadi tempat interaksi manusia dan computer
B.
Fasilitas antarmuka pada computer
C.
Sebagai database informasi
D.
Puluhan computer yang terkoneksi
2)
George Boole menemukan formulasi sebagai
landasan yang sangat mempengaruhi bahasa pemograman, teori Boolean, yaitu ….
A.
Logika
merupakan bagian dari matematika
B.
Terkenoksinya sejumlah computer harus memiliki
bahasa pemograman yang sama
C.
Agar dapat diakses denagn mudah data harus
tersimpan dalam satu database
D.
Penulisan instruksi dengan menggunakn urutan 0
dan 1
3)
Salah satu teknik bahasa pemograman yang
dikembangkan oleh Von Neuman adalah ….
A.
Conditional
control transfer
B.
Machine code
C.
Assembly language
D.
COBOL
4)
Larry wall mengembangkan bahasa yang bisa
digunakan untuk pemograman internet atau pemograman web. bahasa tersebut adalah
….
A.
Visual basic
B.
COBOL
C.
PERL
D.
PASCAL
5)
Bahsa pemograman pertama yang memiliki grammar formal adalah ….
A.
ALGOL
B.
FORTRAN
C.
COBOL
D.
BASIC
Latihan
Jelaskan beberapa pengertian yang
digunakan dalam aplikasi perangkat lunak: data, field (ruas), record (rekaman,
cantuman), file (berkas), dan template!
a.
Data adalah sesuatu yang belum mempunyai arti
bagi penerimanya dan masih memerlukan adanya suatu pengolahan.
b.
Kumpulan dari karakter yang membentuk satu arti,
yaitu tempat atau kolom yang terdapat dalam suatu tabel untuk mengisikan
nama-nama (data) field yang akan di isikan.
c.
Record (rekaman, cantuman) adalah
kumpulan field yang sangat lengkap, dan biasanya dihitung dalam satuan baris.
d.
File (berkas) adalah kumpulan berbagai informasi
yang berhubungan dan juga tersimpan di dalam secondary storage, secara konsep
file memiliki beberapa tipe ada yang bertipe Data terdiri dari numeric,
character dan binary. Lalu ada juga file yang bertipe program
e. Template adlah dokumen atau file yang
berisikan model-model tambahan yang akan muncul pada saat proses pembuatan
dokumen lain.
LATIHAN
Dalam
pengadaan software terdapat satu
siklus yang standar berlaku dalam setiap proses pengadaan software,jelaskan Software
Development LifeCycle (SDLC) atau alur hidup pengembangan software
Jawaban:
Siklus Hidup Pengembangan Sistem) atau
Systems Life Cycle (Siklus Hidup Sistem), dalam rekayasa
sistem dan rekayasa
perangkat lunak,Adalah proses pembuatan dan pengubahan sistem serta model dan metodologi
yang digunakan untuk mengembangkan sistem-sistem tersebut. Konsep ini umumnya
merujuk pada sistem komputer atau informasi.
SDLC juga merupakan pola yang diambil untuk mengembangkan sistem perangkat
lunak, yang terdiri dari tahap-tahap: rencana(planning),analisis (analysis),
desain (design), implementasi (implementation), uji coba (testing) dan
pengelolaan (maintenance). Dalam rekayasa perangkat lunak angsyat Ä, konsep
SDLC mendasari berbagai jenis metodologi pengembangan perangkat
lunak. Metodologi-metodologi ini membentuk suatu kerangka kerja
untuk perencanaan dan pengendalian pembuatan sistem informasi, yaitu proses pengembangan perangkat lunak.
Terdapat 3 jenis metode siklus hidup sistem yang paling banyak digunakan,
yakni: siklus hidup
sistem tradisional (traditional system life cycle), siklus hidup menggunakan prototyping (life
cycle using prototyping), dan siklus hidup
sistem orientasi objek (object-oriented system life cycle).
Tidak ada komentar:
Posting Komentar