Professional Documents
Culture Documents
PERANGKAT LUNAK
(TI1120)
Deskripsi
Mata kuliah ini memberikan keahlian bagi mahasiswa untuk merancangan
sistem secara terstruktur dan berorientasi objek serta mengimplementasikan
rancangan tersebut dalam bentuk aplikasi.
Misi
Menyelenggarakan pendidikan tinggi di bidang Teknik Informatika yang menghasilkan lulusan yang
beretika, mandiri, profesional dan mampu menerapkan perkembangan teknologi berwawasan
kemaritiman.
Mengembangkan penelitian dalam bidang Teknik Informatika yang inovatif dan tepat guna bagi
masyarakat dan industri serta mendukung pembangunan nasional secara umum.
Melaksanakan pemberdayaan dan peningkatan kualitas hidup masyarakat melalui teknologi
informasi.
Menjalin kerjasama dengan berbagai pihak ditingkat lokal, nasional, dan internasional dalam
pengembangan pendidikan, penelitian dan pengabdian kepada masyarakat.
1. Bentuk Bahasa
2. Bentuk Translator
3. Bentuk Mesin
Bentuk Bahasa
Terbagi 3, yaitu
A. High Level, contoh JAVA, BASIC, PASCAL, COBOL, FORTRAN.
B. Middle Level, contoh C
C. Low Level, contoh Bahasa Assembly
Bentuk Translator
Terbagi 3 , yaitu :
A. Interpreter
Menerjemahkan dari bahasa tingkat tinggi ke bahasa tingkat rendah
secara satu persatu (statemen demi statemen)
B. Compiler
Menerjemahkan secara keseluruhan, proses lebih cepat dari interpreter
C. Assembler
Menerjemahkan dari bahasa rakitan ke bahasa mesin
Bentuk Mesin
Krisis Perangkat Lunak
Adalah sekumpulan masalah yang ditemukan dalam pengembangan software
computer. Masalahnya tidak hanya terbatas pada software yang tidak berfungsi
sebagaimana mestinya, tetapi krisis software ini terdiri dari masalah yang berhubungan
dengan :
1. Bagaimana mengembangkan software
2. Bagaimana memelihara software yang ada, yang berkembang dalam jumlah besar
3. Bagaimana mengimbangi permintaan software yang makin besar.
Masalah Perangkat Lunak
1. Mitos Manajemen
2. Mitos Pelanggan
3. Mitos Praktisi
Mitos Manajemen
A. Tidak ada metode untuk analisis disain dan testing terhadap suatu pekerjaan,
cukup menuju ke depan terminal dan mulai coding.
Realitasnya : Metode untuk analisis desain dan testing diperlukan dalam
pengembangan software.
B. Segera setelah software digunakan, pemeliharaan dapat diminimalisasikan
dan diatasi dengan cara CATCH AS CATCH CAM.
Realitasnya : Diperlukan budget yang besar dalam maintenance software.
Pemeliharaan software harus diorganisir, direncanakan dan dikontrol seolah-
olah sebagai suatu proyek besar dalam sebuah organisasi.
Problem dalam Pengembangan Perangkat Lunak
Bisa dieksekusi
Memberi jawaban yang diminta.
Sekarang :
Bisa dieksekusi dengan cepat
Memberi jawaban yang diminta
Bisa dikembangkan
Penyelesaian Masalah (Problem Solving)
COMPUTER
CUSTOMER
SCIENCE
Teori Fungsi
Computer Problem
SOFTWARE
ENGINEERING
Tools dan
Teknik utk
Menyelesaikan Problem
Manufactured Developed/engineer
Wears out ed
Built using Deteriorates
components Custom built
Relatively simple Complex
Tipe-Tipe Software
System software
Application software
Engineering and scientific software
Embedded software
Product Line Software
Web Application
Artificial Intelligence software
Tipe-tipe Software (cont)
System software
Sekumpulan program yang ditulis untuk melayani atau menunjang program
lainnya. Seperti compiler, editor, utility, sistem operasi, driver dan prosesor
telekomunikasi.
Aplication software
Program stand alone yang digunakan untuk menyelesaikan kebutuhan bisnis
tertentu, seperti aplikasi untuk memfasilitasi kegiatan bisnis atau
pembuatan keputusan teknik/ manajemen. Ex: Point of sale transaction
processing, real time manufacturing process control.
Tipe-tipe Software (cont)
Engineering and sciencetific software
Software yang dicirikan dengan algoritma numerik, aplikasinya
berkisar dari astronomi sampai vulkanologi, analis otomotif sampai
dinamika orbit ruang angkasa. Software ini banyak digunakan dalam
bidang engineering dan science. Contoh CAD ( Computer Aided
Design), simulasi sistem.
Tipe-tipe Software (cont)
Embedded software
Software yang disimpan dalam memori tetap/ ROM (Read Only Memory),
digunakan untuk mengontrol fungsi sebuah product. Embedded software ini
dijalankan dengan fungsi-fungsi terbatas. Seperti : fungsi digital untuk
Automobil (kontrol bahan bakar, dash-board, sistem rem)
Product Line software
Software yang dirancang untuk menyediakan kemampuan khusus yang dapat
digunakan oleh banyak user yang berbeda. Ex: inventory control product,
word processing, spreadsheet, multimedia, manajemen database, game,
aplikasi keuangan, dll
Tipe-tipe Software (cont)
Web Application (WebApps)
Software yang berpusat pada jaringan. Software ini menyajikan
informasi berupa text atau grapik. WebApps tidak hanya
menyediakan fitur-fitur stand alone, fungsi komputasi dan content
kepada end user tetapi juga terintegrasi dengan database
perusahaan dan aplikasi bisnis.
Tipe-tipe Software (cont)
Artificial Intellegence software
Software yang banyak menggunakan algoritma non numerik dalam
memecahkan masalah kompleks yang tidak dapat dianalisis dengan
komputasi biasa. Saat ini bidang AI yang paling berkembang adalah
expert system atau knowledge base system. Bidang aplikasi lain
dari software AI adalah pengenalan citra dan suara (image and
voice pattern recognition), pembuktian teorema neural network
dan game
Essential attributes of good software
The software should deliver the required functionality and performance to the user.
Maintainability
Software should be written in such a way so that it can evolve to meet the changing needs of customers. This
is a critical attribute because software change is an inevitable requirement of a changing business
environment;
Dependability
Software must be trustworthy; Software dependability includes a range of characteristics including reliability,
security and safety.
Efficiency
Software should not make wasteful use of system resources such as memory and processor cycles. Efficiency
therefore includes responsiveness, processing time, memory utilisation, etc
Acceptability
Software must accepted by the users for which it was designed. This means it must be understandable, usable
and compatible with other systems.
Proses Rekayasa Perangkat Lunak
Communication
Project initiation
Requirement gathering
Planning
Modeling
Analysis of requirements
Design
Construction
Code generation
Testing
Deployment
delivery
Support
Feedback
End of this chapter..