You are on page 1of 44

PERANCANGAN dan IMPLEMENTASI

PERANGKAT LUNAK
(TI1120)

Ferdi Chahyadi, S. Kom.,M.Cs

Ganjil (2017/2018) / Teknik Informatika UMRAH PENDAHULUAN 1


Perkenalan

Nama : Ferdi Chahyadi, M.Cs


Kontak
Telp : 081322848291 (WA only)
082137059571 (sms/telp)
hubungi hanya pada jam kerja
Email : adi.indesign@gmail.com
Pendidikan
S1 : Teknik Informatika UII (Universitas Islam Indonesia)
S2 : Ilmu Komputer UGM (Universitas Gajah Mada)

Genap (2016/2017) / Teknik Informatika UMRAH PENDAHULUAN 2


Perancangan dan Implementasi Perangkat
Lunak
Prodi : Informatika/Ilmu Komputer
Semester : Ganjil (MK Pilihan)
Jumlah SKS : 3

Deskripsi
Mata kuliah ini memberikan keahlian bagi mahasiswa untuk merancangan
sistem secara terstruktur dan berorientasi objek serta mengimplementasikan
rancangan tersebut dalam bentuk aplikasi.

Genap (2016/2017) / Teknik Informatika UMRAH PENDAHULUAN 3


Visi dan Misi
Teknik Informatika
Universitas Maritim Raja Ali Haji (Umrah)
Visi
Menjadi program studi unggulan dalam bidang teknik informatika yang berwawasan kemaritiman
dan menghasilkan lulusan yang mampu bersaing ditingkat nasional pada tahun 2020.

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.

Genap (2016/2017) / Teknik Informatika UMRAH PENDAHULUAN 4


Kontrak Kuliah
Penilaian
Tugas : 25%
Quiz : 10%
UTS : 25%
UAS : 30%
Kehadiran : 10%
Keaktifan dikelas merupakan nilai tambah

Genap (2016/2017) / Teknik Informatika UMRAH PENDAHULUAN 5


Aturan Perkuliahan
Tatap muka selama 1 semester sebanyak 16x, dengan 14x pertemuan
untuk penyampaian materi dan 2x pertemuan untuk UTS/UAS.
Praktikum di Lab (Jika dimungkinkan)
Peniadaan perkuliahan akan diberitahukan melalui perwakilan kelas.
Kuliah yang ditiadakan akan diganti pada waktu yang disepakati.
Keaktifan dikelas akan dinilai
Tetap fokus selama kuliah berlangsung.
Berpakaian rapi dan sopan
Dilarang membuat keributan selama perkuliahan

Genap (2016/2017) / Teknik Informatika UMRAH PENDAHULUAN 6


Pendahuluan

1. Memahami tentang konsep dasar dari Sistem Informasi Geografi


2. Mengetahui tentang Informasi keruangan dan aplikasi pada SIG
pada dunia nyata dan yang berhubungan dengan dunia
kemaritiman, dan
3. Dapat membuat salah satu aplikasi Sistem Informasi Geografis.

Genap (2016/2017) / Teknik Informatika UMRAH PENDAHULUAN 7


Referensi

Tavri D. Mahyuzir.1997. Pengantar Rekayasa Perangkat Lunak.


Elexmedia Komputindo.
Pressman, Roger .2001.Software Engineering : A Practitioner
Approach, 5th edition. McGraw:Hill International.
Sommervile, Ian.2003. Software Engineering, 7th. Addison Wesley :
Publishing Company
Sumber Online Lainnya.

Genap (2016/2017) / Teknik Informatika UMRAH PENDAHULUAN 8


Pergeseran Makna RPL

Rekayasa Perangkat Lunak (Software Engineering), sedikit mengalami


pergeseran makna di realita dunia pendidikan maupun kurikulum
Teknologi Informasi (TI) di Indonesia.

Genap (2016/2017) / Teknik Informatika UMRAH PENDAHULUAN 9


RPL di SMK

SMK di Indonesia membuka jurusan Program Keahlian Rekayasa Perangkat


Lunak
Secara kurikulum hanya mengajari bahasa C atau Java (mungkin lebih pas
disebut jurusan pemrograman komputer)
Pertemuan ini berusaha meluruskan salah kaprah yang terjadi tentang RPL
berdasarkan kesepakatan, acuan, dan standar yang ada di dunia internasional.

Genap (2016/2017) / Teknik Informatika UMRAH PENDAHULUAN 10


Definisi PL
Program Komputer
Konfigurasi Data dan File
Dokumentasi :
Instalasi
Penggunaan For
Perancangan User
Perawatan For
Developer
Documentation
Install
How to Install
Specification of H/W,
Specification of S/W,
Environment Condition
etc
Documentation
Use
User Guide
How to Use the Software
Login?
Inquiry Procedure
Error Recovery
etc
Documentation
Design
What the system consist of
Model
Functionality
Interface
Repository
etc
Documentation
Maintain
Maintenance History
How are the changes
Correction
Permission
Revision
Edition
etc
Arti Rekayasa Perangkat Lunak

Arti Software Engineering :


Ilmu yang mempelajari teknik pembuatan software yang baik dengan
pendekatan teknis (Engineering approach)
Suatu disiplin rekayasa yang berkonsentrasi terhadap seluruh aspek produksi
perangkat lunak.
Mengadopsi pendekatan yang sistematis dan terorganisir dalam aktivitasnya
dan menggunakan tool dan teknik yang sesuai yang ditentukan berdasarkan
masalah yang akan dipecahkan, kendala pengembangan dan sumber daya
yang tersedia
Sifat & Karakteristik Software

Software merupakan elemen sistem logik dan bukan elemen sistem


fisik seperti hardware
Elemen itu tidak aus, tetapi bisa rusak.
Elemen software itu direkayasa atau dikembangkan dan bukan
dibuat di pabrik seperti hardware
Software itu tidak bisa dirakit/disusun.
Komponen Perangkat Lunak

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. Estimasi jadwal dan biaya yang seringkali tidak tepat


2. Produktivitas orang-orang software(programmer) yang tidak
dapat mengimbangi permintaan kebutuhan software
3. Kualitas software yang kurang baik.
Penyebab Masalah Perangkat Lunak

1. Karakteristik software itu sendiri


Karakteristik software adalah software yang bersifat logika dibandingkan
fisik, oleh karena itu mengukur software harus merupakan suatu kesatuan, tidak
seperti hardware.
Software yang bersifat tidak aus ini menyebabkan kesalahan yang terjadi
pada software. Umumnya terjadi pada tahap pengembangan.
Manajer tingkat menengah dan tingkat atas yang tidak mempunyai latar
belakang software, seringkali diberi tanggung jawab untuk mengembangkan
software. Padahal tidak semua manajer itu dapat me-manage semua proyek.
Praktisnya : software programmer atau software engineering mendapatkan
latihan formal yang sedikit dalam hal tehnik baru pengembangan software.
2. Kegagalan mereka yang bertanggung jawab dalam pengembangan
software.
Mitos Perangkat Lunak

1. Mitos Manajemen
2. Mitos Pelanggan
3. Mitos Praktisi
Mitos Manajemen

A. Kita tidak perlu mengubah pendekatan terhadap pengembangan software,


karena jenis pemrograman yang kita lakukan sekarang ini sudah kita lakukan
10 tahun yang lalu.
Realitasnya : Walau hasil program sama, produktivitas dan kualitas software
harus ditingkatkan dengan menggunakan pendekatan software developments
B. Kita sudah mempunyai buku yang berisi standarisasi dan prosedur untuk
pembentukan software.
Realitasnya : Memang buku tersebut ada, tetapi apakah buku tersebut sudah
dibaca atau buku tersebut sudah ketinggalan jaman ( out of date ).
C. Jika kita tertinggal dari jadwal yang ditetapkan, kita menambah beberapa
programmer saja. Konsep ini sering disebut Mongolian harde concept.
Mitos Pelanggan

A. Pernyataan tujuan umum sudah cukup untuk memulai penulisan


program. Penjelasan yang lebih rinci akan menyusul kemudian.
Realitasnya : Definisi awal yang buruk adalah penyebab utama
kegagalan terhadap usaha-usaha pembentukkan software.
Penjelasan yang formal dan terinci tentang informasi fungsi
performance interface, hambatan desain dan kriteria validasi
adalah penting. Karakteristik di atas dapat ditentukan hanya
setelah adanya komunikasi antara customer dan developer.
B. Kebutuhan proyek yang terus menerus berubah dapat dengan mudah diatasi karena
software itu bersifat fleksibel. Kenyataannya memang benar bahwa kebutuhan software
berubah, tetapi dampak dari perubahan berbeda dari waktu ke waktu.
Mitos Praktisi

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

Tingginya harga Software


Sangat bervariasi dalam penerapannya
Yang diinginkan adalah untuk meningkatkan produktifitas.
Semula Program Sukses Bila :

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

Pebruari 2007 IF 1483 - RPL 32


Ongoing Problems
(Masalah yang terus menerus ada)

Kemajuan perangkat keras melebihi kemampuan membuat software

Kemampuan membangun program baru tidak dapat memenuhi


permintaan program-program baru, begitu juga kecepatan
membangun program tidak dapat mengikuti kebutuhan bisnis dan
pasar

Pebruari 2007 IF 1483 - RPL 33


Penyebaran penggunaan computer telah membuat ketergantungan
masyarakat terhadap komputer

Tantangan untuk membangun software dengan reliability & quality yang


tinggi

Kemampuan men-support dan meningkatkan program terancam oleh design


yang buruk dan keterbatasan sumberdaya

Pebruari 2007 IF 1483 - RPL 34


Hardware vs. Software
Hardware Software

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..

Genap (2016/2017) / Teknik Informatika UMRAH PENDAHULUAN 44

You might also like