Anda di halaman 1dari 52

BUKU INFORMASI

MENGGUNAKAN SPESIFIKASI PROGRAM


J.620100.009.02

KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN R.I.

DIREKTORAT JENDERAL GURU DAN TENAGA KEPENDIDIKAN


PUSAT PENGEMBANGAN DAN PEMBERDAYAAN PENDIDIK DAN TENAGA
KEPENDIDIKAN BIDANG OTOMOTIF DAN ELEKTRONIKA
MALANG
Modul Diklat Berbasis Kompetensi Kode Modul
Sub-Golongan ..... P.854300.015.02

DAFTAR ISI

DAFTAR ISI ............................................................................................................... 2

BAB I PENDAHULUAN................................................................................................. 4

A. TUJUAN UMUM ................................................................................................. 4

B. TUJUAN KHUSUS .............................................................................................. 4

BAB II ....................................................................................................................... 5

MENGGUNAKAN METODE PENGEMBANGAN PROGRAM ................................................ 5

A. Pengetahuan yang diperlukan dalam menggunakan metode pengembangan


program ................................................................................................................. 5

1. Konsep Metode pengembangan Program Aplikasi Perangkat Lunak ................... 5

2. Prinsip-prinsip pemilihan metode pengembangan aplikasi (software) ............. 11

B. Keterampilan yang diperlukan dalam Menggunakan metode pengembangan


program. .............................................................................................................. 14

C. Sikap kerja yang diperlukan dalam menggunakan metode pengembangan


program. .............................................................................................................. 14

BAB III .................................................................................................................... 15

MENGGUNAKAN DIAGRAM PROGRAM DAN DESKRIPSI PROGRAM .............................. 15

A. Pengetahuan yang diperlukan dalam Menggunakan diagram program dan deskripsi


program ............................................................................................................... 15

1. Model Diagram program dengan metodologi pengembangan sistem. .............. 15

2. Penerapan Ragam Model Diagram ................................................................ 20

B. Keterampilan yang diperlukan dalam menggunakan diagram program dan


deskripsi program ................................................................................................. 37

C. Sikap kerja yang diperlukan dalam menggunakan diagram program dan deskripsi
program ............................................................................................................... 37

BAB IV .................................................................................................................... 38

Judul Modul: Merencanakan ……….


Buku Informasi - Versi 2018 Halaman: 2 dari 52
Modul Diklat Berbasis Kompetensi Kode Modul
Sub-Golongan ..... P.854300.015.02

MENERAPKAN HASIL PEMODELAN KE DALAM PENGEMBANGAN PROGRAM ................. 38

A. Pengetahuan yang diperlukan dalam Menerapkan hasil pemodelan ke dalam


pengembangan program ....................................................................................... 38

1. Konsep Bahasa Pemrograman ...................................................................... 38

2. Kelebihan dan kekurangan Ragam Jenis Bahasa Pemrograman ...................... 40

3. Integrated Development Environment (IDE) .................................................. 47

B. Keterampilan yang diperlukan dalam Menerapkan hasil pemodelan ke dalam


pengembangan program ....................................................................................... 49

C. Sikap kerja yang diperlukan dalam Menerapkan hasil pemodelan ke dalam


pengembangan program ....................................................................................... 49

DAFTAR PUSTAKA .................................................................................................... 50

Daftar Alat Dan Bahan .............................................................................................. 51

A. Daftar Peralatan/Mesin .................................................................................... 51

B. Daftar Bahan .................................................................................................. 51

DAFTAR PENYUSUN ................................................................................................. 52

Judul Modul: Merencanakan ……….


Buku Informasi - Versi 2018 Halaman: 3 dari 52
Modul Diklat Berbasis Kompetensi Kode Modul
Sub-Golongan ..... P.854300.015.02

BAB I PENDAHULUAN

A. TUJUAN UMUM
Setelah mempelajari modul ini peserta diharapkan mampu menggunakan spesifikasi program

B. TUJUAN KHUSUS
Adapun tujuan mempelajari unit kompetensi melalui buku informasi menggunakan spesifikasi
program (j.620100.009.02) ini guna memfasilitasi peserta sehingga pada akhir diklat
diharapkan memiliki kemampuan sebagai berikut:
1. Menggunakan metode pengembangan program dengan mendefinisikan ragam metode
pengembangan aplikasi (software development) dan memilih metode pengembangan
aplikasi sesuai kebutuhan dengan cermat, tepat dan teliti.
2. Menggunakan diagram program dan deskripsi program dengan mendefinisikan ragam
diagram program dalam metodologi pengembangan sistem dan menerapkan metode
pemodelan diagram object, diagram komponen pada implementasi program sesuai
spesifikasi secara cermat, tepat dan teliti.
3. Menerapkan hasil pemodelan ke dalam pengembangan program dengan memilih hasil
pemodelan diagram dan hasil pemrograman (Integrated Development Environment-IDE)
yang mendukung kemampuan metodologi bahasa pemrograman sesuai spesifikasi
secara cermat, tepat dan teliti.

Judul Modul: Merencanakan ……….


Buku Informasi - Versi 2018 Halaman: 4 dari 52
Modul Diklat Berbasis Kompetensi Kode Modul
Sub-Golongan ..... P.854300.015.02

BAB II
MENGGUNAKAN METODE PENGEMBANGAN PROGRAM

A. Pengetahuan yang diperlukan dalam menggunakan metode pengembangan


program
1. Konsep Metode pengembangan Program Aplikasi Perangkat Lunak
Definisi perangkat Lunak
Perangkat lunak (software) adalah kumpulan Instruksi atau program komputer
(syntaks/code yang ditulis dalam bahasa permograman) yang ketika dijalankan
menyediakan fungsi dan performance yang diinginkan. Perangkat lunak merupakan
struktur data yang memungkinkan program memanipulasi informasi dan dokumen yang
menggambarkan bagaimana cara menggunakan dan mengoperasikan program tersebut
(Pressman).
Menurut IEEE & ISO 1997 perangkat lunak adalah merupakan kumpulan Program
Komputer (syntaks /Code), Prosedur, fungsi, modul (kumpulan program yang memiliki
tujuan dan fungsi tertentu), Dokumentasi dan kumpulan data yang diperlukan untuk
mengoperasikan suatu sistem perangkat lunak.
Sementara itu IEEE [IEE93] telah mengembangkan definisi yang lebih lengkap
tentang Rekayasa Perangkat Lunak (Software Engineering) : yaitu (1) merupakan aplikasi
perangkat lunak yang bersifat sistematik, dalam pengembangannya menerapkan prinsip-
prinsip rekayasa, metode pengembangan, operasi, dan maintenance dari software; (2)
merupakan serangkaian studi yang menggunakan pendekatan rekayasa”

Proses Pengembangan Aplikasi Perangkat Lunak


Proses Pengembangan Perangkat Lunak (Software development life cycle process)
adalah tahapan-tahapan terstruktur dari pengembangan suatu aplikasi program Perangkat
Lunak, yang bertujuan untuk mengembangkan sistem dan memberikan panduan untuk
menyukseskan proyek pengembangan sistem. Dalam prosesnya, terdapat beberapa
paradigma model pengembangan sistem perangkat lunak, diantaranya :
1. Model Sekuensial Linier atau Waterfall Development Model
2. Model Prototype
3. Model Rapid Application Development (RAD)
4. Model Evolutionary Development / Evolutionary Software Process Models
5. Model Spiral / Model Boehm

Judul Modul: Merencanakan ……….


Buku Informasi - Versi 2018 Halaman: 5 dari 52
Modul Diklat Berbasis Kompetensi Kode Modul
Sub-Golongan ..... P.854300.015.02

Model Sekuensial Linier atau Waterfall Development Model


Model Sekuensial Linier atau sering disebut Model Pengembangan Air Terjun,
merupakan paradigma model pengembangan perangkat lunak paling tua, dan paling
banyak dipakai. Model ini mengusulkan sebuah pendekatan perkembangan perangkat
lunak yang sistematik dan sekunsial yang dimulai pada tingkat dan kemajuan sistem pada
seluruh tahapan analisis, desain , kode, pengujian, dan pemeliharaan. Tahapan – tahapan
Pengembangan Model Sekuensial Linear / Waterfall Development Model :
a. Rekayasa dan pemodelan sistem. Langkah pertama dimulai dengan membangun
keseluruhan elemen sistem dan memilah bagian-bagian mana yang akan dijadikan
bahan pengembangan perangkat lunak, dengan memperhatikan hubungannya
dengan Hardware, User, dan Database. Langkah ini meliputi antara lain:
i. Analisis kebutuhan perangkat lunak (Requirement Analisis systems). Pada proses
ini, dilakukan penganalisaan dan pengumpulan kebutuhan sistem yang meliputi
Domain informasi, fungsi yang dibutuhkan unjuk kerja/performansi dan
antarmuka. Hasil penganalisaan dan pengumpulan tersebut didokumentasikan
dan diperlihatkan kembali kepada pelanggan.
ii. Desain Sistem (System design). Pada proses Desain, dilakukan penerjemahan
syarat kebutuhan sebuah perancangan perangkat lunak yang dapat diperkirakan
sebelum dibuatnya proses pengkodean (coding). Proses ini berfokus pada
struktur data, arsitektur perangkat lunak, representasi interface, dan detail
algoritma prosedural.
b. Pengkodean (implementation system). Pengkodean merupakan proses
menterjemahkan perancangan desain ke bentuk kode-kode program yang dapat
dimengerti oleh mesin (komputer), dengan menggunakan bahasa pemrograman.
c. Pengintegrasian dan Pengujian (integration and testing system). Pengintegrasian
merupakan penggabungan modul-modul kode program yang sudah dibuat.
Selanjutnya dilakukan pengujian untuk mengetahui apakah software yang dibuat
telah sesuai dengan desainnya dan masih terdapat kesalahan atau tidak. Pengujian
meliputi Pengujian logika internal, maupun Pengujian eksternal fungsional untuk
memeriksa segala kemungkinan terjadinya kesalahan dan memeriksa apakah hasil
dari pengembangan tersebut sesuai dengan hasil yang diinginkan.
d. Pengoperasian dan Pemeliharaan (operation and maintenance system).
Pengoperasian merupakan menjalankan keseluruhan program oleh pengguna. Proses
Pemeliharaan merupakan bagian paling akhir dari siklus pengembangan dan

Judul Modul: Merencanakan ……….


Buku Informasi - Versi 2018 Halaman: 6 dari 52
Modul Diklat Berbasis Kompetensi Kode Modul
Sub-Golongan ..... P.854300.015.02

dilakukan setelah perangkat lunak dipergunakan. Kegiatan yang dilakukan pada


proses pemeliharaan antara lain :
• Corrective Maintenance : yaitu mengoreksi apabila terdapat kesalahan pada
perangkat lunak, yang baru terdeteksi pada saat perangkat lunak
dipergunakan.
• Adaptive Maintenance : yaitu dilakukannya penyesuaian/perubahan sesuai
dengan lingkungan yang baru, misalnya hardware, periperal, sistem operasi
baru, atau sebagai tuntutan atas perkembangan sistem komputer, misalnya
penambahan driver, dll.
• Perfektive Maintenance : Bila perangkat lunak sukses dipergunakan oleh
pemakai. Pemeliharaan ditujukan untuk menambah kemampuannya seperti
memberikan fungsi-fungsi tambahan, peningkatan kinerja dan sebagainya.

Model Prototype
Metode Prototype merupakan suatu paradigma baru dalam metode pengembangan
perangkat lunak dimana metode ini tidak hanya sekedar evolusi dalam dunia
pengembangan perangkat lunak, tetapi juga merevolusi metode pengembangan perangkat
lunak yang lama yaitu sistem sekuensial yang biasa dikenal dengan nama SDLC atau
waterfall development model. Dalam Model ini, prototype dari perangkat lunak yang
dihasilkan kemudian dipresentasikan kepada pelanggan, dan pelanggan tersebut diberikan
kesempatan untuk memberikan masukan sehingga perangkat lunak yang dihasilkan

Judul Modul: Merencanakan ……….


Buku Informasi - Versi 2018 Halaman: 7 dari 52
Modul Diklat Berbasis Kompetensi Kode Modul
Sub-Golongan ..... P.854300.015.02

nantinya betul-betul sesuai dengan keinginan dan kebutuhan pelanggan. Perubahan dan
presentasi prototype dapat dilakukan berkali-kali sampai dicapai kesepakatan bentuk dari
perangkat lunak yang akan dikembangkan. Teknik – teknik yang digunakan dalam
membuat prototipe (Prototyping) Meliputi, antara lain: 1) Perancangan Model
2)Perancangan Dialog 3)Simulasi. Sedangkan karakteristik dalam proses pengembangan
pada metode prototype, meliputi 4 empat langkah yaitu : 1)Pemilihan fungsi, 2)Penyusunan
Sistem Informasi, 3)Evaluasi sistem, 4) Penggunaan Selanjutnya
Metode ini menyajikan gambaran yang lengkap dari suatu sistem perangkat lunak,
terdiri atas model kertas, model kerja dan program. Pihak pengembang akan melakukan
identifikasi kebutuhan pemakai, menganalisa sistem dan melakukan studi kelayakan serta
studi terhadap kebutuhan pemakai, meliputi model interface, teknik prosedural dan
teknologi yang akan dimanfaatkan. Tahapan – tahapan Proses Pengembangan dalam
Model Prototype, yaitu :
a. Pengumpulan kebutuhan. Pelanggan dan pengembang bersama-sama
mendefinisikan format seluruh perangkat lunak, mengidentifikasikan semua
kebutuhan, dan garis besar sistem yang akan dibuat.
b. Membangun prototyping. Membangun prototyping dengan membuat perancangan
sementara yang berfokus pada penyajian kepada pelanggan (misalnya dengan
membuat input dan format output).
c. Evaluasi protoptyping. Evaluasi ini dilakukan oleh pelanggan, apakah prototyping
yang sudah dibangun sudah sesuai dengan keinginan pelanggan atau belum. Jika
sudah sesuai, maka langkah selanjutnya akan diambil. Namun jika tidak, prototyping
direvisi dengan mengulang langkah-langkah sebelumnya.
d. Mengkodekan sistem. Dalam tahap ini prototyping yang sudah di sepakati
diterjemahkan ke dalam bahasa pemrograman yang sesuai.
e. Menguji sistem. Setelah sistem sudah menjadi suatu perangkat lunak yang siap pakai,
kemudian dilakukan proses Pengujian. Pengujian ini dilakukan dengan White Box,
Black Box, Basis Path, pengujian arsitektur, dll.
f. Evaluasi Sistem. Pelanggan mengevaluasi apakah perangkat lunak yang sudah jadi
sudah sesuai dengan yang diharapkan . Jika ya, maka proses akan dilanjutkan ke
tahap selanjutnya, namun jika perangkat lunak yang sudah jadi tidak/belum sesuai
dengan apa yang diharapkan, maka tahapan sebelumnya akan diulang.
g. Menggunakan sistem. Perangkat lunak yang telah diuji dan diterima pelanggan siap
untuk digunakan.

Judul Modul: Merencanakan ……….


Buku Informasi - Versi 2018 Halaman: 8 dari 52
Modul Diklat Berbasis Kompetensi Kode Modul
Sub-Golongan ..... P.854300.015.02

Model Prototyping ini sangat sesuai diterapkan untuk kondisi yang beresiko tinggi di mana
masalah-masalah tidak terstruktur dengan baik, terdapat fluktuasi kebutuhan pemakai
yang berubah dari waktu ke waktu atau yang tidak terduga, bila interaksi dengan pemakai
menjadi syarat mutlak dan waktu yang tersedia sangat terbatas sehingga butuh
penyelesaian yang segera. Model ini juga dapat berjalan dengan maksimal pada situasi
di mana sistem yang diharapkan adalah yang inovatif dan mutakhir sementara tahap
penggunaan sistemnya relatif singkat. Berikut merupakan Jenis – jenis dari Prototyping :
a. Feasibility prototyping, digunakan untuk menguji kelayakan dari teknologi yang
akan digunakan untuk system informasi yang akan disusun.
b. Requirement prototyping. digunakan untuk mengetahui kebutuhan aktivitas
bisnis user.
c. Desain Prototyping, digunakan untuk mendorong perancangan sistem informasi
yang akan digunakan.
d. Implementation prototyping. merupakan lanjutan dari rancangan prototype,
prototype ini langsung disusun sebagai suatu sistem informasi yang akan
digunakan.

Gambar Ragam bentuk model prototype

Judul Modul: Merencanakan ……….


Buku Informasi - Versi 2018 Halaman: 9 dari 52
Modul Diklat Berbasis Kompetensi Kode Modul
Sub-Golongan ..... P.854300.015.02

Model Rapid Application Development (RAD)


Rapid Aplication Development (RAD) adalah sebuah model proses perkembangan
perangkat lunak sekuensial linier yang menekankan siklus perkembangan yang sangat
pendek (kira-kira 60 sampai 90 hari). Model RAD ini merupakan sebuah adaptasi “kecepatan
tinggi” dari model sekuensial linier dimana perkembangan cepat dicapai dengan
menggunakan pendekatan konstruksi berbasis komponen. Tahapan – tahapan Proses
Pengembangan dalam Model Rapid Application Development (RAD), yaitu :
a. Bussiness Modeling. Fase ini untuk mencari aliran informasi yang dapat menjawab
pertanyaan berikut:
 Informasi apa yang menegndalikan proses bisnis?
 Informasi apa yang dimunculkan?
 Di mana informasi digunakan ?
 Siapa yang memprosenya ?
b. Data Modeling. Aliran informasi yang didefinisikan sebagai bagian dari fase bussiness
modeling disaring ke dalam serangkaian objek data yang dibutuhkan untuk menopang
bisnis tersebut. Karakteristik (atribut) masing-masing objek diidentifikasi dan
hubungan antar objek-objek tersebut didefinisikan.
c. Proses Modeling. Aliran informasi yang didefinisikan di dalam fase data modeling
ditransformasikan untuk mencapai aliran informasi yang perlu bagi implementasi
sebuah fungsi bisnis. Gambaran pemrosesan diciptakan untuk menambah,
memodifikasi, menghapus, atau mendapatkan kembali sebuah objek data.
d. Aplication Generation. Selain menggunakan bahasa pemrograman generasi ketiga,
RAD juga memakai komponen program yang telah ada atau menciptakan komponen
yang bisa dipakai lagi. Ala-alat bantu bisa dipakai untuk memfasilitasi konstruksi
perangkat lunak.
e. Testing dan Turnover. Karena proses RAD menekankan pada pemakaian kembali,
banyak komponen program telah diuji. Hal ini mengurangi keseluruhan waktu
pengujian. Tetapi komponen baru harus diuji dan semua interface harus dilatih secara
penuh.

Judul Modul: Merencanakan ……….


Buku Informasi - Versi 2018 Halaman: 10 dari 52
Modul Diklat Berbasis Kompetensi Kode Modul
Sub-Golongan ..... P.854300.015.02

2. Prinsip-prinsip pemilihan metode pengembangan aplikasi (software)


Untuk menentukan kapan metode pengembangan aplikasi tepat untuk diterapkan maka
perlu mengetahui karakteristik, kelebihan dan kekurangan untuk setiap model
pengembangan aplikasi perangkat lunak..

2.1. Kelebihan dan Kekurangan Sekuensial Linear / Waterfall


Development Model
Kelebihan Model Sekuensial Linear / Waterfall Development Model adalah sebagai
berikut:
o Tahapan proses pengembangannya sudah tetap (pasti), mudah diaplikasikan, dan
prosesnya teratur.
o Cocok digunakan untuk produk software/program yang sudah jelas kebutuhannya
sistem pada awalnya, sehingga minim terjadinya kesalahannya.
o Software yang dikembangkan dengan metode ini biasanya menghasilkan kualitas
yang baik.
o Dokumen pengembangan sistem sangat terorganisir, karena setiap fase harus
terselesaikan dengan lengkap sebelum melangkah ke fase berikutnya.
Kekurangan Model Sekuensial Linear / Waterfall Development Model :
o Proyek yang sebenarnya jarang mengikuti alur sekuensial seperti diusulkan,
sehingga perubahan yang terjadi dapat menyebabkan hasil yang sudah

Judul Modul: Merencanakan ……….


Buku Informasi - Versi 2018 Halaman: 11 dari 52
Modul Diklat Berbasis Kompetensi Kode Modul
Sub-Golongan ..... P.854300.015.02

didapatkan tim pengembang harus diubah kembali/iterasi sering menyebabkan


masalah baru.
o Terjadinya pembagian proyek menjadi tahap-tahap yang tidak fleksibel, karena
komitmen harus dilakukan pada tahap awal proses.
o Sulit untuk mengalami perubahan kebutuhan yang diinginkan oleh
customer/pelanggan.
o Pelanggan harus sabar untuk menanti produk selesai, karena dikerjakan tahap per
tahap, dan proses pengerjaanya akan berlanjut ke setiap tahapan bila tahap
sebelumnya sudah benar-benar selesai.
o Perubahan ditengah-tengah pengerjaan produk akan membuat bingung tim
pengembang yang sedang membuat produk.
o Adanya waktu kosong (menganggur) bagi pengembang, karena harus menunggu
anggota tim proyek lainnya menuntaskan pekerjaannya.
Model ini akan tepat digunakan pada kondisi antara lain sebagai berikut:
 Ketika semua persyaratan sudah dipahami dengan baik di awal pengembangan.
 Definisi produk stabil dan tidak ada perubahan saat pengembangan untuk alasan
apapun seperti perubahan eksternal, perubahan tujuan, perubahan anggaran atau
perubahan teknologi. Untuk itu, teknologi yang digunakan pun harus sudah
dipahami dengan baik.
 Menghasilkan produk baru, atau versi baru dari produk yang sudah ada.
Sebenarnya, jika menghasilkan versi baru maka sudah masuk incremental
development, yang setiap tahapnya sama dengan Waterfall kemudian diulang-
ulang.
 Porting produk yang sudah ada ke dalam platform

2.2. Kelebihan dan kekurangan Model Prototype


Kelebihan Model Prototype :
• Pelanggan berpartisipasi aktif dalam pengembangan sistem, sehingga hasil produk
pengembangan akan semakin mudah disesuaikan dengan keinginan dan kebutuhan
pelanggan.
• Penentuan kebutuhan lebih mudah diwujudkan.
• Mempersingkat waktu pengembangan produk perangkat lunak.
• Adanya komunikasi yang baik antara pengembang dan pelanggan.
• Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan pelanggan.
• Lebih menghemat waktu dalam pengembangan sistem.

Judul Modul: Merencanakan ……….


Buku Informasi - Versi 2018 Halaman: 12 dari 52
Modul Diklat Berbasis Kompetensi Kode Modul
Sub-Golongan ..... P.854300.015.02

• Penerapan menjadi lebih mudah karena pelanggan mengetahui apa yang


diharapkannya.
Kekurangan Model Prototype :
• Proses analisis dan perancangan terlalu singkat.
• Biasanya kurang fleksibel dalam mengahadapi perubahan.
• Walaupun pemakai melihat berbagai perbaikan dari setiap versi prototype, tetapi
pemakai mungkin tidak menyadari bahwa versi tersebut dibuat tanpa memperhatikan
kualitas dan pemeliharaan jangka panjang.
• Pengembang kadang-kadang membuat kompromi implementasi dengan
menggunakan sistem operasi yang tidak relevan dan algoritma yang tidak efisien.

2.3. Kelebihan dan kekurangan Model Rapid Application Development


(RAD)
Kelebihan Model RAD :
• Lebih efektif dari Pengembangan Model waterfall/sequential linear dalam
menghasilkan sistem yang memenuhi kebutuhan langsung dari pelanggan.
• Cocok untuk proyek yang memerlukan waktu yang singkat.
• Model RAD mengikuti tahap pengembangan sistem seperti pada umumnya, tetapi
mempunyai kemampuan untuk menggunakan kembali komponen yang ada sehingga
pengembang tidak perlu membuatnya dari awal lagi sehingga waktu pengembangan
menjadi lebih singkat dan efisien.
Kekurangan Model RAD :
• Model RAD menuntut pengembangan dan pelanggan memiliki komitmen di dalam
aktivitas rapid-fire yang diperlukan untuk melengkapi sebuah sistem, di dalam
kerangka waktu yang sangat diperpendek. Jika komitmen tersebut tidak ada, proyek
RAD akan gagal.
• Tidak semua aplikasi sesuai untuk RAD, bila system tidak dapat dimodulkan dengan
teratur, pembangunan komponen penting pada RAD akan menjadi sangat
bermasalah.
• RAD tidak cocok digunakan untuk sistem yang mempunyai resiko teknik yang tinggi.
• Membutuhkan Tenaga kerja yang banyak untuk menyelesaikan sebuah proyek dalam
skala besar.
• Jika ada perubahan di tengah-tengah pengerjaan maka harus membuat kontrak baru
antara pengembang dan pelanggan.

Judul Modul: Merencanakan ……….


Buku Informasi - Versi 2018 Halaman: 13 dari 52
Modul Diklat Berbasis Kompetensi Kode Modul
Sub-Golongan ..... P.854300.015.02

1.1. Bcb
1.2.
1. development)sesuai kebutuhan.
2. Xzc

B. Keterampilan yang diperlukan dalam Menggunakan metode


pengembangan program.
1. Mengidentifikasi ragam metode pengembangan aplikasi (software development)
sesuai kebutuhan.
2. Memilih metode pengembangan aplikasi (software development) sesuai kebutuhan.

C. Sikap kerja yang diperlukan dalam menggunakan metode


pengembangan program.
Harus bersikap secara:
1. Cermat, tepat, teliti dan sesuai kebutuhannya dalam mengidentifikasi metode
pengembangan aplikasi (software development).
2. Cermat, tepat, teliti dan sesuai kebutuhannya dalam Memilih metode
pengembangan aplikasi (software development).

Judul Modul: Merencanakan ……….


Buku Informasi - Versi 2018 Halaman: 14 dari 52
Modul Diklat Berbasis Kompetensi Kode Modul
Sub-Golongan ..... P.854300.015.02

BAB III
MENGGUNAKAN DIAGRAM PROGRAM DAN DESKRIPSI
PROGRAM

A. Pengetahuan yang diperlukan dalam Menggunakan diagram program


dan deskripsi program
1. Model Diagram program dengan metodologi pengembangan sistem.
Pemodelan dalam rekayasa perangkat lunak
Pemodelan dalam suatu rekayasa perangkat lunak merupakan suatu hal yang
dilakukan di tahapan awal. Di dalam suatu rekayasa perangkat lunak sebenarnya masih
memungkinkan tanpa melakukan suatu pemodelan. Hal tersebut tidak berlaku dalam
suatu industri perangkat lunak. Pemodelan perangkat lunak harus dikerjakan dan akan
mempengaruhi perkerjaan-pekerjaan dalam rekayasa perangkat lunak tersebut.
Beberapa pemodelan yang dikenal dalam rekayasa perangkat lunak antara lain;
 Pemodelan Proses. Pemodelan proses merupakan model yang digunakan dalam
pengembangan sistem perangkat lunak yang terdiri dari tahapan-tahapan mulai dari
spesifikasi kebutuhan perangkat lunak sampai dengan perawatan sistem
 Pemodelan analisis dan desain. Pemodelan ini mendefinisikan spesifikasi
lengkap dari persyaratan representasi dan representasi desain yang komprehensip
bagi perangkat lunak yang akan dibangun. Model ini harus dapat memenuhi tiga
sasaran utama yaitu menggambarkan apa yang dibutuhkan untuk pelanggan,
membangun dasar bagi pembuatan desain perangkat lunak, membatasi
serangkaian persyaratan yang dapat divalidasi begitu perangkat lunak dibangun.
 Pemodelan data. Pemodelan data merupakan sarana untuk melakukan abstraksi
data, relasi antar entitas dalam basis data. Merupakan sejumlah konsep untuk
membuat diskripsi stuktur basis data. Kebanyakan model data memuat spesifikasi
untuk operasi dasar (basic operation) dalam pengaksesan dan pembaharuan data.
Pada perkembangan terakhir dikenal dengan istilah tabiat data (data behavior) pada
pemrograman berorientasi object.
 Pemodelan Fungsional dan Aliran Informasi. Informasi ditransformasikan
pada saat mengalir melalui sebuah sistem berbasis komputer. Sistem menerima
input dengan berbagai cara dan menghasilkan output sehingga dapat menciptakan
suatu model aliran bagi setiap sistem berbasis komputer tanpa melihat ukuran dan
kompleksitasnya. Dalam pendekatan sistem berbasis prosedural/ konvensional,
model yang digunakan adalah Diagram Aliran Data/ Data Flow Diagram (DFD).

Judul Modul: Merencanakan ……….


Buku Informasi - Versi 2018 Halaman: 15 dari 52
Modul Diklat Berbasis Kompetensi Kode Modul
Sub-Golongan ..... P.854300.015.02

 Pemodelan UML (Unified Modeling language). UML merupakan suatu bahasa


yang berisi aturan-aturan, notasi-notasi, gambar untuk membuat visualisasi model
suatu sistem perangat lunak dengan pendekatan sistem berorientasi obyek.

Spesifikasi Kebutuhan Sistem Perangkat Lunak.


Dalam siklus pengembangan perangkat lunak tahapan pertama adalah Analisis
kebutuhan perangkat lunak (Requirement Analisis systems). Dalam tahapan ini salah
satu yang dilakukan adalah mengembangkan, mendefinisian kebutuhan atau sering
dikenal dengan Rekayasa kebutuhan. Rekayasa kebutuhan merupakan proses
menetapkan layanan yang dibutuhkan konsumen (pengguna) terhadap sistem dan
batasan-batasan operasi serta pengembangannya. Kebutuhan adalah diskripsi layanan,
sistem dan batasan yang dibangkitkan selama proses rekayasa kebutuhan kebutuhan,
merupakan susunan pernyataan abstrak level tinggi dari layanan atau batasan sistem
ke dalam spesifikasi fungsional matematis. Kebutuhan mempunyai dua fungsi yaitu:
merupakan dasar untuk penawaran kontrak sehingga harus terbuka untuk interpretasi
dan merupakan dasar untuk kontrak itu sendiri sehingga harus didefinisikan dengan
detail. Beberapa jenis kebutuhan antara lain adalah :
 Kebutuhan User. Pernyataan dalam bahasa natural dan diagram layanan yang
tersedia dan batasan operasional. Kebutuhan ini dibuat dan ditulis oleh konsumen
 Kebutuhan Sistem. Dokumen terstruktur yang berisi diskripsi detail dari
layanan sistem. Ditulis sebagai kontrak antara klien dan kontraktor.
 Spesifikasi Software. Diskripsi software detail yang sebagai dasar untuk
desain atau implementasi. Dokumen ini ditulis oleh developer.
 Kebutuhan fungsional. Pernyataan layanan sistem yang harus disediakan,
bagaimana sistem bereaksi pada input tertentu dan bagaimana perilaku sistem
pada situasi tertentu.
 Kebutuhan non-fungsional. Batasan layanan atau fungsi yang ditawarkan
sistem seperti batasan waktu, batasan pengembangan proses, standarisasi dll

Contoh pendefinisian kebutuhan sistem untuk pengembangan aplikasi Simple


Calculator, sebagai berikut:
Aplikasi simple calculator adalah sebuah software calculator yang dapat
menjalankan operasi perhitungan matematika sederhana, yaitu penambahan,
pengurangan, perkalian dan pembagian terhadap dua bilangan (positif atau
negatif ) bulat dan pecahan desimal.

Judul Modul: Merencanakan ……….


Buku Informasi - Versi 2018 Halaman: 16 dari 52
Modul Diklat Berbasis Kompetensi Kode Modul
Sub-Golongan ..... P.854300.015.02

Kebutuhan fungsional (software requirements spesification/SRS) dari Simple


Calculator untuk lebih detilnya adalah sebagai berikut :
Tabel … Spesifikasi kebutuhan program aplikasi simple calculator
SRS-SC-001 Sistem mampu membersihkan layar simple calculator.
SRS-SC-002 Sistem mampu menerima inputan bilangan positif atau negatif
Sistem mampu menerima inputan bilangan bulat dan pecahan
SRS-SC-003
desimal.
Sistem mampu melakukan operasi dengan operator
SRS-SC-004 penambahan terhadap dua buah bilangan secara terus
menerus (akumulasi hasil).
Sistem mampu melakukan operasi dengan operator
SRS-SC-005 pengurangan terhadap dua buah bilangan secara terus
menerus (akumulasi hasil).
Sistem mampu melakukan operasi dengan operator perkalian
SRS-SC-006 terhadap dua buah bilangan secara terus menerus (akumulasi
hasil).
Sistem mampu melakukan operasi dengan operator pembagian
SRS-SC-007 terhadap dua buah bilangan secara terus menerus (akumulasi
hasil).

Gambar. Pendefinisian kebutuhan fungsional Sistem Order (ditulis menggunakan tools


Visual requirements versi 1.5)

Dari contoh spesifikasi kebutuhan diatas dapat dibuat beberapa model yaitu: model
diagram aliran informasi (DFD). Dari DFD dapat diturunkan menjadi diagram Struktur chart.
Dari diagram struktur chart dapat dituliskan algoritma atau spesifikasi program komputer
dalam bentuk bahasa natural, pseudocode atau flowchart. Selanjutnya dapat diterjemahkan
ke dalam kode program menggunakan bahasa pemrograman sehingga program tersebut
dapat dijalankan atau dieksekusi menggunakan perangkat mesin/komputer. Jika

Judul Modul: Merencanakan ……….


Buku Informasi - Versi 2018 Halaman: 17 dari 52
Modul Diklat Berbasis Kompetensi Kode Modul
Sub-Golongan ..... P.854300.015.02

menggunakan pendekatan sistem berorientasi object, spesifikasi kebutuhan tersebut dapat


diturunkan ke dalam use case diagram, aktfity diagram, object diagram, class diagram. Jika
tampilan keluaranya menggunakan GUI yang mendukung event driven programming maka
dibutuhkan desain user interface sebelum pembuatan kode program.

Diagram Aliran Data/ Data Flow Diagram (DFD)


DFD merupakan sebuah teknik grafis yang menggambarkan aliran informasi dan
transformasi yang diaplikasikan pada saat data bergerak dari input menjadi output.
Dikenal juga dengan sebutan grafik aliran data atau buble chart.

Gambar …. Diagram aliran data (DFD) sistem Order


Komponen-komponen DFD :
 Proses : menunjukkan apa yang dikerjakan oleh sistem. Setiap proses memiliki
nama yang unik dan nomor yang ditempatkan dalam simbol.
 External entity adalah di luar sistem, tetapi mereka merupakan salah satu bagian
yang memberikan input data ke dalam sistem atau digunakan oleh output sistem
 Data Flow adalah tempat penyimpanan data
 Data Store : Proses dapat menempatkan data ke dalam data store atau
mengambil / mendapatkan data store. Setiap data store mempunyai nama yang
unik External Entity

Unified Modeling language (UML)


UML adalah sebuah “Bahasa" yg menjadi standart untuk visualisasi, merancang
dan mendokumentasikan, membuat model untuk semua jenis sistem aplikasi perangkat
lunak. Aplikasi tersebut dapat berjalan pada semua perangkat keras, semua sistem operasi,
jaringan serta dapat ditulis dalam semua bahasa pemrograman. Karena UML menggunakan

Judul Modul: Merencanakan ……….


Buku Informasi - Versi 2018 Halaman: 18 dari 52
Modul Diklat Berbasis Kompetensi Kode Modul
Sub-Golongan ..... P.854300.015.02

class dan operation dalam konsep dasarnya, maka model ini lebih cocok untuk penulisan
perangkat lunak dalam bahasa berorientasi objek seperti C++, Java, C# atau VB.NET, dan
lainnya. UML tetap dapat digunakan untuk modeling aplikasi prosedural dalam bahasa basic
atau C. Seperti bahasa-bahasa lainnya, UML mendefinisikan notasi dan syntax/semantik.
Notasi UML merupakan sekumpulan bentuk khusus untuk menggambarkan berbagai
diagram piranti lunak. Setiap bentuk memiliki makna tertentu, dan UML syntax
mendefinisikan bagaimana bentuk-bentuk tersebut dapat dikombinasikan. Notasi UML
diturunkan dari 3 notasi yang telah ada sebelumnya: 1) Grady Booch OOD (Object-Oriented
Design), 2) Jim Rumbaugh OMT (Object Modeling Technique), dan 3) Ivar Jacobson OOSE
(Object-Oriented Software Engineering). Sejarah perkembangan UML dapat disimpulkan
sebagai berikut:
 Tahun 1994: munculnya tokoh pelopor UML (Booch,Rumbough dan Jacobson)
 Tahun 1995: diluncurkan draft pertama UML (versi 0.8)
 Tahun 1996: pengkoordinasian model oleh Object Management Group (OMG)
 Tahun 1997: munculnya UML (versi 1.1)
 Tahun 1999: penyusunan tiga buku UML oleh (Booch,Rumbough dan Jacobson)
 Tahun 1999: UML menjadi standart bahasa permodelan sistem berorientasi objek
 Tahun 2003: diluncurkan UML versi 1.5
 Tahun 2004: dluncurkan UML Versi 2.0
Berdasarkan UML versi 1.5 ragam model diagram dibedakan menjadi sembilan jenis yaitu
sebagai berikut:
1. Use case diagram: menggambaran diagram fungsionalitas yang diharapkan dari
sebuah sistem.
2. Class diagram: menggambarkan struktur dan deskripsi class beserta hubungan satu
dengan lainnya (pewarisan, asosiasi, dan lain-lain).
3. Object diagram: menggambarkan struktur dan deskripsi object-object yang terkait
dengan sistem.
4. Statechart diagram: menggambarkan prilaku/behaviour dari suatu case atau class
tertentu dalam sistem.
5. Activity diagram: menggambarkan proses yang berjalan dari suatu sistem atau case
tertentu.
6. Sequence diagram: menggambarkan interaksi antar objek di dalam dan di sekitar
sistem.
7. Collaboration diagram: menggambarkan interaksi antar objek yang lebih
menekankan peran objek.

Judul Modul: Merencanakan ……….


Buku Informasi - Versi 2018 Halaman: 19 dari 52
Modul Diklat Berbasis Kompetensi Kode Modul
Sub-Golongan ..... P.854300.015.02

8. Component diagram: menggambarkan struktur dan hubungan antar komponen


yang terkait dengan sistem perangkat lunak.
9. Deployment diagram: menggambarkan deskripsi detail bagaimana komponen
dibangun (deploy) dalam infrastruktur sistem perangkat lunak.
Tabel…. Ragam jenis dan konsep dasar model diagram dalam UML

2. Penerapan Ragam Model Diagram


2.1. Use Case diagram
Use case diagram menjelaskan gambaran fungsionalitas yang diharapkan dari
sebuah sistem, menggambarkan kegiatan apa saja yang dilakukan aktor dan sistem untuk
mencapai tujuan tertentu. Use case diagram menekankan pada “apa” dan bukan
“Bagaimana” yg dibuat oleh sistem. use case diagram mempresentasikan interaksi antar
aktor/pelaku dengan sistem, menyatakan suatu job/pekerjaan tertentu miasal : login ke
sistem, create data penjualan.
Manfaat dari diagram ini adalah: 1) Menyusun requirement (syarat-syarat) sebuah
sistem, 2) Mengkomunikasikan rancangan dengan klien, 3) Merancang test case untuk
semua feature (performance) yang ada pada sistem. Beberapa kelebihan menggunakan
model diagram ini antara lain adalah :

Judul Modul: Merencanakan ……….


Buku Informasi - Versi 2018 Halaman: 20 dari 52
Modul Diklat Berbasis Kompetensi Kode Modul
Sub-Golongan ..... P.854300.015.02

1. dapat mengikutsertakan atau memasukkan (include) fungsionalitas use case lain


sebagai bagian dari proses dalam dirinya,
2. dapat di-include oleh lebih dari satu use case lain, sehingga duplikasi fungsionalitas
dapat dihindari dengan cara menarik keluar fungsionalitas yang sama
3. dapat memperluas atau memperpanjang (extend) use case lain dengan behaviour-
nya sendiri.
Diagram ini tersusun dari beberapa kompoen yaitu: aktor, case, dependency, association,
generalization. Deskripsi komponen-komponen tersebut adalah sebagai berikut:
1. Aktor merupakan suatu entitas yang berinteraksi dengan sistem untuk melakukan
suatu pekerjaan.
2. Case merupakan suatu peristiwa, pekerjaan atau job yang dilakukan oleh sistem
atau aktor.
3. Association, dependency dan generalization merupakan hubungan (relationship)
diantara komponen-komponen tersebut.
4. Association. Relasi ini digunakan untuk menghubungkan para actor dan case di
dalam suatu diagram. Asosiasi ini dapat dibuat atau digambar dalam dua arah,
tergantung dari kedudukan aktornya. jika aktornya adalah sebagai aktor utama
(primery actor) maka arah relasinya adalah dari actor menuju case. Jika aktornya
adalah sebagai aktor tambahan (secondary actor) maka arah relasinya dari case
menuju actor.
5. Generalization. Relasi ini menunjukkan hubungan antara elemen yang lebih umum
ke elemen yang lebih spesifik. Class yang lebih spesifik (sub class) akan
menurunkan atribute dan operasi dari class yeng lebih umum (superclass). Relasi
ini merupakan pemodelan dari herarki class atau konsep inheritance. Contoh: class
Pelanggan adalah superclass dan turunannya adalah Pelanggan antar. Pelanggan
adalah gambaran atau abstraksi pelanggan secara umum. Pelanggan antar
mengabstraksikan pelanggan yang memesan lewat telpon dan pelanggan yang
pengambilan barang melalui pengiriman. Class pelanggan ini akan memiliki atribute
dan operasi yang sama dengan class pelanggan dengan tambahan atribute biaya
pengiriman.
6. Dependency. Relasi menghubungkan case dengan case lainnya. Relasi ini
merupakan hubungan semantik antara dua unsur-unsur modeling di dalam atau
yang mana suatu perubahan satu elemen/unsur model (unsur yang mengalir
masuk) dapat mempengaruhi unsur modeling yang lain (unsur yang dependent).
Relasi yang menunjukkan bahwa perubahan pada salah satu elemen akan

Judul Modul: Merencanakan ……….


Buku Informasi - Versi 2018 Halaman: 21 dari 52
Modul Diklat Berbasis Kompetensi Kode Modul
Sub-Golongan ..... P.854300.015.02

memberikan pengaruh pada elemen yang lain. Dalam relasi ini terdiri dari dua jenis
stereotype : Include dan Extend. Include menunjukkan bahwa suatu bagian dari
elemen(yg ada di garis tanpa panah) memicu eksekusi bagian dari elemen lain (yg
ada di garis dengan panah). Contoh A --include--> B (operasi di class A memicu
dieksekusinya operasi di class B. Extend menunjukkan bahwa suatu bagian dari
elemen digaris tanpa panah bisa disisipkan ke dalam elemen yang ada di garis
dengan panah. Contoh A --extend--> B (suatu fungsi dari case A bisa disisipkan ke
dalam use case B dengan kata lain A optional untuk B
Nama Notasi/Simbol Keterangan
Simbol/Notasi
Actor Merepresentasikan entitas, person/ orang
misal: Admin, User

Case Menggambarkan sebuah peristiwa, kejadian,


pekerjaan/job

Assosiation Menggambarakan relasi actor dan case

Generalization hubungan antara elemen yang lebih umum


ke elemen yang lebih spesifik.
Depedency suatu bagian dari elemen (yg ada di garis
(include) tanpa panah) memicu eksekusi bagian dari
elemen lain
Dependency suatu bagian dari elemen digaris tanpa
(extend) panah bisa disisipkan ke dalam elemen yang
ada di garis dengan panah

Contoh berikut menjelaskan use case diagram system ATM dengan spesifikasi kebutuhan
sistem sebagai berikut:
 System dapat menyediakan “login” untuk user dan admin
 System dapat menyediakan “logout” untuk user dan admin
 System menyediakan “Registrasi account” untuk user dan admin
 System dapat menampilkan menu transaksi untuk user
 System dapat menyediakan transaksi pembayaran, cek saldo dan penarikan uang

Judul Modul: Merencanakan ……….


Buku Informasi - Versi 2018 Halaman: 22 dari 52
Modul Diklat Berbasis Kompetensi Kode Modul
Sub-Golongan ..... P.854300.015.02

Gambar… Use case diagram system ATM

2.2. Activity diagram


Activity diagram adalah suatu diagram yang menggambarkan berbagai aliran
aktivitas dalam sistem yang sedang dirancang. Sebuah aktivitas dapat direalisasikan oleh
satucase atau lebih. Aktivitas menggambarkan proses yang berjalan, sementara case
menggambarkan bagaimana aktor menggunakan sistem untuk melakukan aktivitas.
Diagram ini juga menggambarkan suatu control flow (transitions) antara action yang
dibentuk oleh system (activities) ke beberapa aktivitas potenisal, decision dan proses
paralel yang mungkin terjadi pada beberapa eksekusi dari start point (Diagram alir berawal)
sampai ke end point (diagram alir berakhir). Diagram ini merupakan state diagram khusus
dimana sebagian besar state adalah action dan sebagian besar transisi di-trigger oleh
selesainya state sebelumnya (internal processing). Decision digunakan untuk
menggambarkan behaviour pada kondisi tertentu Activity dinotasikan menggunakan
segiempat dengan sudut membulat.
Activity diagram tidak menggambarkan behaviour internal sebuah sistem
(interaksi antar subsistem) secara eksak, tetapi lebih menggambarkan proses dan jalur
aktivitas dari level atas secara umum. Untuk mengilustrasikan proses paralel (fork dan join)
digunakan sinkronisasi yang berupa titik dan garis horizontal atau vertikal. Dalam activity
diagram aktivitas dapat dibagi menjadi beberapa object swimlane yang menggambarkan

Judul Modul: Merencanakan ……….


Buku Informasi - Versi 2018 Halaman: 23 dari 52
Modul Diklat Berbasis Kompetensi Kode Modul
Sub-Golongan ..... P.854300.015.02

objek mana yang bertanggung jawab untuk aktivitas tertentu. Komponen-komponen dalam
activity diagram diperlihatkan dalam tabel dibawah ini:

Nama Notasi/Simbol Keterangan


Simbol/Notasi
Start point Menggambarkan diagram alir berawal

End point Menggambarkan diagram alir berakhir

Object node Menggambarakan obyek

Activity menggambarkan proses yang berjalan

Decision Merupakan keputusan yang menggambarkan


behaviour pada kondisi tertentu
Syncronization mengilustrasikan suatu proses paralel (fork: satu
masukan dengan dua atau lebih keluaran dan join :
dua atau lebih masukan dengan satu keluaran.
Organization object swimlane yang menggambarkan objek mana
Unit yang bertanggung jawab untuk aktivitas tertentu.

Untuk dapat menggambarkan aktivity diagram dibutuhkan deskriipsi case skenario pada
use case diagram. Case skenario menggambarkan urutan langkah-langkah kejadian atau
proses yang dilakukan aktor dan sistem. tabel berikut mengilustrasikan skenario dari case
“Login”

Name : Login
Aktor : Nasabah
Purpose : Melakukan login ke sistem ATM
Overview :
Type :

Typical Course of Events


Actor Action System Response
1. Nasabah memasukkan kartu ATM 2. Sistem meloding program
ke card slot. 3. Sistem menampilkan form (untuk
4. Nasabah memasukkan No pin memasukkan no pin) ke monitor display
menggunakan keypad 5. Sistem membuat koneksi ke database
6. Sistem mengecek nomer pin
7. Jika pin valid sistem meloding program
untuk menampilkan form menu transaksi
Alternative Course:
8. Jika pin salah system akan menampilkan form ”entry pin” ke dispaly monitor
9. jika tiga kali dalam memasukkan pin invalid maka sistem akan melakukan proses
logout

Judul Modul: Merencanakan ……….


Buku Informasi - Versi 2018 Halaman: 24 dari 52
Modul Diklat Berbasis Kompetensi Kode Modul
Sub-Golongan ..... P.854300.015.02

Judul Modul: Merencanakan ……….


Buku Informasi - Versi 2018 Halaman: 25 dari 52
Modul Diklat Berbasis Kompetensi Kode Modul
Sub-Golongan ..... P.854300.015.02

2.3. Obcjet Diagram


Untuk dapat memahami Object diagram dibutuhkan pemahaman tentang konsep
“object” , “class “ dan “package”. Class adalah merupakan sebuah kategori atau kelompok
benda-benda di alam atau kelompok dari benda-benda yang mempunyai atribute dan
prilaku (behaviour) yang sama. Class adalah sebuah spesifikasi yang jika diinstansiasi akan
menghasilkan sebuah object dan merupakan inti dari pengembangan dan desain sistem
berorientasi obyek. Class menggambarkan keadaan (atribut/properti) suatu sistem,
sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (method/fungsi).
Class diagram menggambarkan struktur dan deskripsi class, package dan object beserta
hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain.
Class memiliki tiga area pokok yaitu: 1)Nama (dan stereotype), 2) Attribute dan 3)
Method. Attribute dan method memiliki beberapa siifat yaitu :1)Private (tidak dapat
dipanggil dari luar class ), 2) Protected ( dapat dipanggil oleh class yang bersangkutan dan
yang mewarisinya), 3) Public (dapat dipanggil oleh siapa saja).

Gambar …..Format class diagram dan satu contoh class Person


Class person tersebut memiliki dua buah atribut masing-masing bertipe private dan
tipe data String (name dan address). Class tersebut memiliki 4 method masing-masing
bertipe public. Setiap atribut setidaknya memiliki dua method : set() untuk memberikan
nilai atribute dan get() untuk mengakses atribut. Pernyataan +setAdress(address:String)
mempunyai makna, nama methodnya setAddress(), dengan visibility public dapat diakses
dari semua class dan memiliki satu parameter dengan nama address dengan tipe datanya
String. Pernyataan +getName():String mempunyai makna: sebuah method dengan nama
getName(), dengan visibility public, tidak memiliki parameter dan memiliki nilai
pengembalian (return value) bertype String
Nilai visibility atau Sifat-sifat dari atribute dan operation(mehod) adalah:
 + Public: atribute/methode ini dapat diakses dari semua class
 # Protected: atribute/methode ini dapat diakses dari class yang sama dan class
turunannya.

Judul Modul: Merencanakan ……….


Buku Informasi - Versi 2018 Halaman: 26 dari 52
Modul Diklat Berbasis Kompetensi Kode Modul
Sub-Golongan ..... P.854300.015.02

 ˜ Package: atribute/methode ini dapat diakses pada pada package yang sama
 - Private: atribute/methode ini hanya dapat diakses pada class yang sama
Object adalah merupakan suatu contoh dari sebuah class (an instance of a class).
Object merupakan suatu hal khusus yang mempunyai nilai spesifik dari atribute dari suatu
class Sifat-sifat dari object adalah :
 Is Identical (because Object has own unique ID)
 Has Behavior (because Object has Method)
 Has State (because Object has instance parameter)
Gambar berikut merupakan salah satu contoh class dan object dengan nama classnya :
WashingMachine dan nama objectnya myWasher
myWasher:WashingMachine Atribute dari kelas :
SerialNumber : GL57774
(a) BrandName : Laundatorium
WashingMachine ModelName : washmeister
- SerialNumber : std::string
Capacitity : 16 pounds
- GrandName : std::string
- ModelName : std::string Methode dari kelas:
- Capacity : int +acceptClothes():void
+acceptDetergent():void
+ acceptClothes () : void
+ acceptDetergent () : void
+turnOn():void
+ turnOn () : void +turnOff():void
+ turnOff () : void masing-masing bertipe public dan tidak
(b) mempunyai return value (void)
Gambar… Contoh pendefinisian sebuah class (b) dan object (a)

Karena class/object memiliki beberapa sifat yang dapat dibedakan dengan


class/object yang lain maka sebelum membuat object/class diagram perlu dilakukan
identifikasi class/object. Secara umum hasil identifikasi class/object dibedakan menjadi tiga
klasifikasi (stereotype) yaitu : 1) Boundary, 2) Control dan 3) Entity
Stereotype-Boundary adalah object/class yang menghubungkan user/aktor dengan
case/sistem. Type ini sering dikenal dangan istilah user interface class. Lebih lanjut user
interface class ini sering disamakan dengan form yang digunakan untuk interface antara
sistem dengan user. Dalam implementasinya biasanya dimulai dengan menetapkan sebuah
boundary class untuk setiap pasangan actor dan use case.
Stereotype-Entity merupakan Class/object yang sangat berhubungan erat dengan
data atau informasi yang digunakan oleh system dan menyimpan dan mengolah data. Cara
mudah untuk mengidentifikasi class/object jenis ini adalah dengan menetapkan kata benda
yang ada dalam case spesification

Judul Modul: Merencanakan ……….


Buku Informasi - Versi 2018 Halaman: 27 dari 52
Modul Diklat Berbasis Kompetensi Kode Modul
Sub-Golongan ..... P.854300.015.02

Stereotype-control merupakan class/objcet yang mengkoordinasi aktivitas dalam


system, menghubungkan boundary class dengan entity class, mengkoordinasi entity class
mana yang perlu dikunjungi, kapan dan apa yang ingin didapatkan dari entity class
tersebut. Masa hidup control class adalah dibuat saat use case dimulai dan mati saat use
case selesai dieksekusi. Dalam implementasinya biasanya dimulai dengan menetapkan satu
kontrol class untuk satu use case
Dalam contoh kasus Sistem ATM untuk menggambarkan object diagram maka perlu
dilakukan beberapa hal yaitu :mengidentifikasi semua obyek yang berhubungan dengan
mesin ATM, menetapkan stereotype untuk masing-masing object dan menghubungkan
object-object yang terkait.
Obejct beserta stereotypnya:
1. Account Holder :Entity
2. ATM : Control
3. ATMChard : Entity
4. Monitor : boundary
5. Chard slot : boundary
6. Chash despencer : boundary
7. Keyborad(keypad) : boundary
8. Invoice despencer : boundary
9. Account : Entity
10. Transaksi : Entity

Gambar … tata letak bagian-bagian mesin ATM dan hasil identifikasi object

Gambar … Object diagram System ATM

Judul Modul: Merencanakan ……….


Buku Informasi - Versi 2018 Halaman: 28 dari 52
Modul Diklat Berbasis Kompetensi Kode Modul
Sub-Golongan ..... P.854300.015.02

2.4. Class diagram


Class adalah merupakan sebuah kategori atau kelompok benda-benda di alam atau
kelompok dari benda-benda yang mempunyai atribute dan prilaku (behaviour) yang sama.
Class merupakan blueprint atau cetak biru untuk melahirkan object. Object merupakan
hasil konkrit dari sebuah class. Object adalah instance dari class. Jika class secara umum
merepresentasikan (template) sebuah object, sebuah instance adalah representasi nyata
dari class itu sendiri. Package merupakan kumpulan dari beberapa kelas. Package
menunjuk pada pengelompokkan class dan atau subpackages. Strukturnya dapat
disamakan dengan direktorinya. Sebuah class/object memiliki hubungan (relasi) dengan
class/object lainnya. Ragam jenis relasi class/object antara lain adalah : Assosiation,
Dependency,Generalization, Realization.
Relasi class-Assosiation merupakan hubungan statis antar class, nama relasinya
adalah “has a” (mempunyai). Relasi ini dibedakan menjadi dua macam hubungan khusus
yaitu: 1) Aggregration dan 2) Composite.
Relasi Assosiation-Aggregation merupakan hubungan yang menyatakan class dan
bagian-bagian komponennya. Hubungan ini dinyatakan sebagai suatu bagian sebuah class
yang utuh (the whole class) dan class komponennya. Hubungan ini dinotasikan dengan
sebuah garis yang menghubungkan antara “whole class” dan componen class dengan
sebuah belah ketupat yang tertutup di ujung dekat whole classnya. Gambar berikut
merupakan contoh relasi class aggregation antara Komputer dengan komponennya.
Home Computer

1..1 1..1 1..1 1..1


1..1
1..1
1..1 1..1
1..*
1..1
KeyBoard Monitor
Speaker CPUBox
Mouse
*

1..1 1..1 1..1


1..1 1..1 1..1
1..1 1..1

1..* 1..1 1..1 1..* 1..1


1..* 1..1
1..1

DiskDrive HardDrive RAM CDRom GraphicChard SoundChard Button MouseBall

1..1

Gambar ….. Relasi class aggregation antara Komputer dengan komponennya

Judul Modul: Merencanakan ……….


Buku Informasi - Versi 2018 Halaman: 29 dari 52
Modul Diklat Berbasis Kompetensi Kode Modul
Sub-Golongan ..... P.854300.015.02

Relasi Assosiation-composite adalah merupakan relasi agrregration yg sangat kuat.


Setiap komponen dalam relasi composite dapat memiliki hanya satu “whole class”. Relasi
ini dinotasikan dengan sebuah garis dengan belah ketupat yang diblok pada salah satu
sisinya. Contoh relasi class ini adalah relasi antara meja dengan komponennya yaitu kaki
meja(leg) dan alas meja (TableTop)
Relasi class-Generalization merupakan Hubungan hirarkis antar class. Class dapat
diturunkan dari class lain dan mewarisi semua atribut dan metoda class. Nama relasinya:
is a (adalah). Relasi ini donotasikan dengan sebuah garis dengan segitiga disalah satu
ujungnya. Contoh relasi class-Generalization adalah relasi antara pegawai (employe)
dengan waiter (pelayan) dan tukang masak (chef)

Gambar Relasi antar class : aggregation, composite dan generalization


Relasi class assosiation memiliki beberapa jenis yaitu : 1) Unary Assosiation (suatu
class berhubungan dengan dirinya sendiri, 2) Binary Assosiaton (dua buah class saling
berhubungan, 3) Ternary Assosiation : Tiga buah class saling berhubungan dan 4) n-nary
Assosiation : banyak kelas saling berhubungan.

Gambar …. Ragam jenis relasi class assosiation

Judul Modul: Merencanakan ……….


Buku Informasi - Versi 2018 Halaman: 30 dari 52
Modul Diklat Berbasis Kompetensi Kode Modul
Sub-Golongan ..... P.854300.015.02

Dalam relasi class diagram dikenal istilah Multiplicity sebagaimana relasi antar entitas dalam
basis data yaitu kardinalitas. Parameter ini menjelaskan seberapa banyak Jumlah relasi
dimana sebuah object mengambil bagian dalam assosiasi. Jumlah relasi diindikasikan
dengan dua nilai yaitu nilai minimum relasi dan maksimum. Dalam relasi class juga dikenal
istilah Navigability yang menjelaskan arah dari relasi. Notasi yang menunjukkan arah relasi
ini disimbolkan dengan tanda anak panah pada salah satu ujung garis relasi.
Tabel….ragam jenis nilai multiplicity relasi class

Gambar…..format penggambaran relasi class association dan navigability

Gambar….detail class dan relasi association-aggregation dan multiplicity-nya

Judul Modul: Merencanakan ……….


Buku Informasi - Versi 2018 Halaman: 31 dari 52
Modul Diklat Berbasis Kompetensi Kode Modul
Sub-Golongan ..... P.854300.015.02

Gambar….detail class dan relasi association-composite dan multiplicity-nya


Dalam kondisi tertentu kadang sebuah assosiation antara dua class mengikuti
sebuah aturan (role) sesuai batasan-batasannya (constraint). Sebuah contoh: BankTeller
melayani customer tapi dan setiap customer di layani dalam suatu order. Untuk
mengidikasikan sebuah constraint dengan memberikan role name ordered yang ditulis
diantara tanda {...} pada class customer.

Gambar… contoh penulisan batasan-batasan relasi (constraint) class

Relasi class- Link digunakan untuk merelasikan dua buah class secara spesifik dan
memiliki sifat-sifat khusus. Relasi ini merupakan relasi association yang sangat spesifik.
Pada relasi ini assosiation name ditulis dengan underline. Contoh dibawah ini digunakan
untuk merelasikan siapa yang bermain dalam suatu tim khusus.

Gambar… contoh penulisan relasi class-Link

Judul Modul: Merencanakan ……….


Buku Informasi - Versi 2018 Halaman: 32 dari 52
Modul Diklat Berbasis Kompetensi Kode Modul
Sub-Golongan ..... P.854300.015.02

Relasi class-Dependency diigunakan untuk menunjukkan sebagai tanda bahwa


suatu operasi dari suatu class menggunakan class yang lain. Misalnya : penggunaan menu
untuk memilih form yang akan diisi oleh pengguna (user)

Gambar… contoh penulisan relasi class-Dependency


Interface adalah suatu pengaturan operasi (set of operations) yang menetapkan
beberapa aspek/pengarah dari suatu perilaku kelas. Interface tidak dapat langsung
diinstansiasikan(dibuat obyeknya), tetapi harus diimplementasikan dahulu menjadi sebuah
class. Dengan demikian interface mendukung resolusi metoda pada saat run-time.
Relasi class-realization adalah sebuah relasi yang menggambarkan hubungan
antara sebuah class dengan suatu interface. Untuk menggambarkan relasi ini
menggunakan simbol garis putus-putus dan segtiga tidak di blok.

Gambar ………

Gambar ………

Judul Modul: Merencanakan ……….


Buku Informasi - Versi 2018 Halaman: 33 dari 52
Modul Diklat Berbasis Kompetensi Kode Modul
Sub-Golongan ..... P.854300.015.02

Abstract class adalah class yang memiliki method kosong untuk didefinisikan oleh
user sendiri. Abstract class ini tidak bisa dibuat obyeknya karena ada method yang kosong.
Abstract class hanya dapat di turunkan (di-inherit-kan) ke subclass dan subclass tersebut
akan mendefinisikan method yang kosong tersebut. Dalam class diagram nama dari abstract
class di tulis dengan huruf miring atau dengan memberikan role / keyword “{abstract}” pada
class name-nya. Gambar berikut menjelaskan contoh abstrackt class dalam Basketball mode.
Player
{abstract}

- name : std::string
- height : int
- weight : int
- runningSpeed : int
Clock
- verticalLeap : int {abstract}
+ dribbleBall () : void
+ passBall () : void
+ rebound () : void + trackTime () : void
+ shoot () : void

Guard Forward Center GameClock ShortClock

+ runOffense () : void + slamDunk () : void


+ bringBallUpcount () : void

Gambar …. Contoh penggambaran abstract class

Port digunakan untuk menghubungkan antara sebuah interface dengan sebuah


class. Contoh : mouse adalah sebuah interface untuk sebuah computer (class) sedangkan
mouseport adalah sebuah port yang menghubungkan mouse (interface) dengan komputer
(class). Object mouse didefinisikan sebagi sebuah object yang memiliki event-event seperti
: click(), move(), up(),down() dan programmer yang akan menggunakan event mouse
dalam programnya diharuskan mendefinisikan seluruh behaviour (event) yang dimiliki
mouse tersebut. Jika tidak ingin melakukan apa-apa ketika mouse digerakkan maka cukup
mendeklarasikan ulang method kosong dari interface tersebut.

Gambar ….. Port untuk merelasikan interface mouse dengan class computer

Judul Modul: Merencanakan ……….


Buku Informasi - Versi 2018 Halaman: 34 dari 52
Modul Diklat Berbasis Kompetensi Kode Modul
Sub-Golongan ..... P.854300.015.02

Gambar …Class diagram yang merelasikan class-class dalam sistem order

2.5. Componen Diagram


Component diagram menggambarkan struktur dan hubungan antar komponen
piranti lunak, termasuk ketergantungan (dependency) di antaranya. Komponen piranti
lunak adalah modul berisi code, baik berisi source code maupun binary code, baik library
maupun executable, baik yang muncul pada compile time, link time, maupun run time.
Umumnya komponen terbentuk dari beberapa class dan/atau package, tapi dapat juga dari
komponen-komponen yang lebih kecil. Komponen dapat juga berupa interface, yaitu
kumpulan layanan yang disediakan sebuah komponen untuk komponen lain.

Gambar …Class diagram yang merelasikan class-class dalam sistem order

Judul Modul: Merencanakan ……….


Buku Informasi - Versi 2018 Halaman: 35 dari 52
Modul Diklat Berbasis Kompetensi Kode Modul
Sub-Golongan ..... P.854300.015.02

2.6. Alat Bantu (tools) Pemodelan Diagram UML


Alat bantu (tools) adalah merupakan suatu perangkat lunak aplikasi yang dapat
digunakan untuk membantu system designer, system analist dalam membuat
pemodelan sistem aplikasi perangkat lunak yang akan dikembangkan. Selanjutnya hasil
pemodelan tersebut akan diterjemahkan ke dalam kode-kode program oleh
programmer. Terdapat banyak ragam jenis tool desain pemodelan yang mendukung
UML, baik yang bersifat komersial maupun opensource. Beberapa diantaranya adalah:
 Power Designer (http://powerdesigner.de/en/, https://www.sap.com/index.html.
 Online drawing (https://www.draw.io/)
 Rational Rose (www.rational.com).
 Together (www.togethersoft.com)
 Object Domain (www.objectdomain.com)
 Jvision (www.object-insight.com)
 Objecteering (www.objecteering.com)
 MagicDraw (https://www.nomagic.com/products/magicdraw)
 Visual Object Modeller (www.visualobject.com)

Gambar.. Tools pemodelan menggunakan Powerdesigner

Judul Modul: Merencanakan ……….


Buku Informasi - Versi 2018 Halaman: 36 dari 52
Modul Diklat Berbasis Kompetensi Kode Modul
Sub-Golongan ..... P.854300.015.02

B. Keterampilan yang diperlukan dalam menggunakan diagram program dan


deskripsi program
1 Mengidentifikasi ragam diagram pemodelan program dengan metodologi
pengembangan sistem
2 menerapkan metode pemodelan, diagram objek dan diagram komponen
menggunakan alat bantu (tools) pemodelan

C. Sikap kerja yang diperlukan dalam menggunakan diagram program dan


deskripsi program
Harus bersikap secara:
1. Cermat, tepat dan teliti dalam mengidentifikasi ragam diagram pemodelan program
dengan metodologi pengembangan sistem
2. Cermat, tepat dan teliti dalam menerapkan metode pemodelan, diagram objek dan
diagram komponen menggunakan tools pemodelan

Judul Modul: Merencanakan ……….


Buku Informasi - Versi 2018 Halaman: 37 dari 52
Modul Diklat Berbasis Kompetensi Kode Modul
Sub-Golongan ..... P.854300.015.02

BAB IV
MENERAPKAN HASIL PEMODELAN KE DALAM
PENGEMBANGAN PROGRAM

A. Pengetahuan yang diperlukan dalam Menerapkan hasil pemodelan ke


dalam pengembangan program
1. Konsep Bahasa Pemrograman
Belajar memprogram tidak sama dengan belajar bahasa pemrograman. Belajar
memprogram adalah belajar tentang metodologi pemecahan masalah, kemudian
menuangkannya dalam suatu notasi tertentu yang mudah dibaca dan dipahami. Belajar
memprogram ini lebih cenderung bersifat pemahaman persoalan, analisis dan sintesis serta
menitik beratkan pada perancangan program.
Sedangkan belajar bahasa pemrograman berarti belajar memakai suatu bahasa
aturan-aturan tata bahasanya, instruksi-instruksinya, tata cara pengoperasian compiler-
nya, dan memanfaatkan instruksi-instruksi tersebut untuk membuat program yang ditulis
hanya dalam bahasa itu saja. Belajar bahasa pemrograman ini menitik beratkan kepada
penulisan code program yang dapat jalankan (dieksekusi) oleh mesin dan akan mengolah
masukan, memprosesnya kemudian menghasilkan keluaran.
Secara umum ada beberapa fungsi utama dari sebuah bahasa pemrograman, yaitu :
1) Sebagai media komunikasi antara operator dengan mesin, 2) Sebagai media
mengoperasikan sebah mesin, 3) Sebagai media bagi programmer dalam mengembangkan
sebuah aplikasi, 3) Memberikan perintah kepada mesin dan komputer
Berdasarkan kedekatannnya dengan bahasa mesin dan bahasa manusia bahasa
pemrograman dibedakan menjadi:
1) Bahasa mesin, yaitu bahasa yang hanya dapat dipahami oleh mesin, bahasa ini
memberikan perintah kepada komputer dengan memakai kode bahasa biner,
contohnya:01100101100110
2) bahasa tingkat rendah. Bahsa ini dikenal dengan istilah bahasa rakitan (bah.Inggris
Assembly), yaitu memberikan perintah kepada komputer dengan memakai kode-
kode singkat (kode mnemonic), contohnya MOV, SUB, CMP, JMP, JGE, JL, LOOP.
Contoh bahasa yang termasuk dalam kelompok ini adalah bahasa ASSEMBLY.
3) bahsa Tingkat menengah. Bahasa komputer yang memakai campuran instruksi
(kode mnemonic) dan kata-kata bahasa manusia serta instruksi yang bersifat
simbolik, contohnya {, }, ?, <<, >>, &&, ||, dsb. Contoh bahasa yang termasuk
dalam kelompok ini adalah bahas C.

Judul Modul: Merencanakan ……….


Buku Informasi - Versi 2018 Halaman: 38 dari 52
Modul Diklat Berbasis Kompetensi Kode Modul
Sub-Golongan ..... P.854300.015.02

4) bahasa tingkat tinggi. Bahasa komputer yang memakai instruksi berasal dari unsur
kata-kata bahasa manusia, contohnya begin, end, if, for, while, and, or, dan
sebagainya. Contoh yang termasuk dalam bahasa ini adalah bahasa pascal,
basic,cobol, fortran, Java dll
Berdasarkan fungsi dan basisnya bahasa pemrograman dibedakan menjadi empat yaitu :
1. Imperative, bahasa yang berbasiskan von Neumann Archittecture, diamana
memori yang sama digunakan untuk data dan memberikan instruksi kepada
program. Mayoritas computer modern menggunakan von Neumann Archittecture
sebagai basis nya.
2. Functional, bahasa yang berbasiskan fungsi matematika yang merupakan struktur
anggota dari suatu set yang disebut domain set sampai ke set yang lain yang
disebut range set.
3. Logic, bahasa yang berbasiskan logika yang formal yang mengekspresikan fakta
dan aturan – aturan yang berkaitan dengan suatu masalah pada sebuah domain.
4. Markup/programming hybrid, bahasa yang berbasiskan teks dan tags yang
berhubungan dengan dokumen elektronik, operating system, aplikasi dan
program.
Berdasarkan metode menerapkan atau mengimplementasikannya bahasa
pemrograman dibedakan menjadi tiga yaitu: 1) Compilation, 2) Pure Interpretation, 3)
Hybrid Implementation Systems.
Compilation, dengan metode ini compiler akan menerjemahkan suatu program
menjadi bahasa mesin, yang bisa menjadi suatu input untuk interpreter atau compiler yang
lain. Metode ini banyak dipakai oleh bahasa pemrograman untuk membuat aplikasi
komersial dan berskala besar. Compilation juga terbagi atas beberapa fase :
• Lexical analysis, perubahan karakter di dalam program sumber menjadi unit lexical.
• Syntax analysis, merubah unti lexical menjadi parse trees, yang merepresentasikan
struktur syntax dari suatu program.
• Semantics analysis, menghasilkan intermediate code.
• Code generation, merubah intermediate code menjadi kode yang dapat dimengerti
oleh mesin sehingga siap digunakan.
Pure Interpretation, dengan metode ini suatu program akan ditafsirkan oleh
interpreter. Metode ini tidak membutuhkan translasi dan lebih mudah untuk digunakan
karena error bisa ditemukan dengan cepat, akan tetapi memiliki waktu eksekusi yang lebih
lama dan memakan lebih banyak memori. Metode ini biasa digunakan pada program-
program kecil.

Judul Modul: Merencanakan ……….


Buku Informasi - Versi 2018 Halaman: 39 dari 52
Modul Diklat Berbasis Kompetensi Kode Modul
Sub-Golongan ..... P.854300.015.02

Hybrid Implementation Systems, merupakan gabungan dari Compilation dan Pure


Interpretation. Dalam metode ini bahasa yang berlevel tinggi dari suatu program akan
diterjemahkan menjadi bahasa level menengah agar dapat di interpretasi dengan mudah.
Hybrid Implementation Systems biasa digunakan untuk program dengan ukuran sedang.

2. Kelebihan dan kekurangan Ragam Jenis Bahasa Pemrograman


Bahasa C
Bahasa pemrograman C merupakan salah satu bahasa pemrograman komputer.
Dibuat pada tahun 1972 oleh Dennis Ritchie untuk Sistem Operasi Unix di Bell Telephone
Laboratories. Meskipun C dibuat untuk memprogram sistem dan jaringan komputer namun
bahasa ini juga sering digunakan dalam mengembangkan software aplikasi. C juga banyak
dipakai oleh berbagai jenis platform sistem operasi dan arsitektur komputer, bahkan
terdapat beberepa compiler yang sangat populer telah tersedia. C
Kelebihan Bahasa C
 Bahasa C tersedia hampir di semua jenis computer

 Kode bahasa C sifatnya adalah portable dan fleksible untuk semua jenis computer

 Bahasa C hanya menyediakan sedikit kata-kata kunci, hanya terdapat 32 kata kunci

 Proses executable program bahasa C lebih cepat


 Dukungan pustaka yang banyak

 C adalah bahasa yang terstruktur

 Bahasa C termasuk bahasa tingkat menengah


Kekurangan Bahasa C
 Banyaknya operator serta fleksibilitas penulisan program kadang-kadang
membingungkan pemakai
 Bagi pemula pada umumnya akan kesulitan menggunakan pointer

Bahasa C++
Bahasa pemrograman komputer C++ dikembangkan di Bell Labs (Bjarne
Stroustrup) pada awal tahun 1970-an,. Bahasa itu diturunkan dari bahasa sebelumnya,
yaitu BCL, Pada awalnya, bahasa tersebut dirancang sebagai bahasa pemrograman yang
dijalankan pada sistem Unix. Pada perkembangannya, versi ANSI (American National
Standart Institute) Bahasa pemrograman C menjadi versi dominan. Meskipun versi tersebut
sekarang jarang dipakai dalam pengembangan sistem dan jaringan maupun untuk sistem
embedded. Bjarne Stroustrup pada Bell labs pertama kali mengembangkan C++ pada awal
1980-an, Untuk mendukung fitur-fitur pada C++, dibangun efisiensi dan sistem support
untuk pemrograman tingkat rendah (low level coding).] Pada C++ ditambahkan konsep-

Judul Modul: Merencanakan ……….


Buku Informasi - Versi 2018 Halaman: 40 dari 52
Modul Diklat Berbasis Kompetensi Kode Modul
Sub-Golongan ..... P.854300.015.02

konsep baru seperti class dengan sifat-sifatnya seperti inheritance dan overloading. Salah
satu perbedaan yang paling mendasar dengan bahasa C adalah dukungan terhadap konsep
pemrograman berorientasi objek (Object Oriented Programming).
Kelebihan:
 Merupakan induk dari bahasa pemrograman perl, php, phyton, visual basic, gambas,
java, C#
 Compiler bahasa C++ terdapat di semua platform
 Untuk pengembangan visual dijejali dengan platform yang sangat banyak seperti OWL,
MFC, Cocoa, QT, GTK, dll
 Merupakan pemrograman berorientasi objek
Kekurangan:
 Bahasa ini cukup sulit untuk dipel;ajari dan dipahami
 Banyaknya operator serta fleksibilitas penulisan program kadang-kadang
membingungkan pemakai
 Bagi pemula pada umumnya akan kesulitan menggunakan pointer

Bahasa Java
Java adalah sebuah teknologi yang diperkenalkan oleh Sun Microsystems pada
pertengahan tahun 1990. Menurut definisi dari Sun, Java adalah nama untuk sekumpulan
teknologi untuk membuat dan menjalankan perangkat lunak pada komputer standalone
ataupun pada lingkungan jaringan. Kita lebih menyukai menyebut Java sebagai sebuah
teknologi dibanding hanya sebuah bahasa pemrograman. Teknologi Java memiliki tiga
komponen penting, yaitu :
1. Programming-language specification
2. Application-programming interface
3. Virtual-machine specification
Bahasa Java dapat dikategorikan sebagai sebuah bahasa pemrograman
berorientasi objek, pemrograman terdistribusi dan bahasa pemrograman multithrreaded .
Objek Java dispesifikasi dengan membentuk kelas. Untuk masing-masing kelas Java,
kompiler Java memproduksi sebuah file keluaran arsitektur netral yang akan jalan pada
berbagai implementasi dari Java Virtual Machine (JVM). Awalnya Java sangat digemari oleh
komunitas pemrograman internet, karena Java mendukung untuk applets , dimana
program dengan akses sumber daya terbatas yang jalan dalam sebuah web browser. Java
juga menyediakan dukungan level tinggi untuk networking dan objek terdistribusi. Java
juga dianggap sebagai sebuah bahasa yang aman. Tampilan ini pada khususnya penting

Judul Modul: Merencanakan ……….


Buku Informasi - Versi 2018 Halaman: 41 dari 52
Modul Diklat Berbasis Kompetensi Kode Modul
Sub-Golongan ..... P.854300.015.02

menganggap bahwa sebuah program Java boleh mengeksekusi silang sebuah jaringan
terdistribusi. Sehingga bahasa Java saat ini termasuk bahasa pemrograman yang relatif
mudah untuk dipelajari karena banyaknya contoh dan konsep yang beredar luas, baik
berupa buku maupun di internet. Tetapi program yang dibuat dalam bahasa Java juga
relatif lebih banyak membutuhkan waktu saat di eksekusi (lebih lama) dikarenakan untuk
menjalankan programnya dibutuhkan JVM (perantara antar program dan sistem operasi).
Kelebihan Bahasa Java:
 Sederhana dan ampuh, java menyediakan sarana untuk membuat program (applet)
yang berjalan pada web browser. Programmer dapat menggunakan applet kecil yang
aman, dinamik, lintas platform, aktif dan siap dijalankan di jaringan.
 Aman, java dirancang dengan konsep keamanan internet.
 Berorientasi objek, java tidak diturunkan bahasa pemrogaman manapun. Java memiliki
keseimbangan yang menyediakan mekanisme peng-class-an sederhana dengan model
antarmuka dinamik yang intuitif hanya jika diperlukan.
 Kokoh, java membatasi programmer dengan memberi kunci supaya progamer dapat
menemukan kesalahan lebih cepat saat mengembangkan program.
 Interaktif, java dirancang untuk menciptakan program jaringan yang interaktif.
 Netral terhadap berbagai arsitektur, java mampu berjalan dalam platform apapun
seperti PC, UNIX, Macintosh, dll.
 Terinterpretasi dan berkinerja tinggi, java melengkapi keajaiban lintas platform yang
luar biasa dengan kompilasi ke dalam representasi langsung yang disebut java code
byte yang dapat diterjemahkan oleh system apapun yang memiliki java interpreter dan
java virtual machine.
 Mudah dipelajari karena bersifat sederhana
 Mendukung koneksi ke database
Kekurangan bahasa Java :
 Java memiliki kecepatan yang kurang dari bahasa C ++
 Implementasi J2ME tidak global. Misalnya, J2ME untuk Motorola dengan J2ME untuk
Sony Ericson tidak sama. Berbeda lagi J2ME untuk Nokia. Setiap produk selalu
mempunyai modul tersendiri yang dinilai aneh penerapannya dan harus di-compile
dengan modul yang berbeda-beda.
 Java memakan banyak memori computer
 Java merupakan bahasa yang kompleks.
 Program yang dibuat oleh bahasa ini lebih lambat disbanding program yang dibuat
dengan bahasa lain seperti C atau C++.

Judul Modul: Merencanakan ……….


Buku Informasi - Versi 2018 Halaman: 42 dari 52
Modul Diklat Berbasis Kompetensi Kode Modul
Sub-Golongan ..... P.854300.015.02

Bahasa Pascal
Pascal adalah bahasa pemrograman yang pertama kali di buat oleh Profesor Niklaus
Wirth, seorang anggota International Federation of Information Processing (IFIP) pada
tahun 1971. Dengan mengambil nama dari matematikawan Perancis, Blaise Pascal, yang
pertama kali menciptakan mesin penghitung. Profesor Niklaus Wirth membuat bahasa
Pascal ini sebagai alat bantu untuk mengajarkan konsep pemrograman komputer kepada
mahasiswanya. Selain itu, Profesor Niklaus Wirth membuat Pascal juga untuk melengkapi
kekurangan-kekurangan bahasa pemrograman yang ada pada saat itu.
Kelebihan bahasa pascal :
 Tipe data standar, tipe-tipe data standar yang telah tersedia bahasa pemrogaman.
Pascal memiliki tipe data standar Boolean, integer, char, real, string.
 User defined data types, programmer dapat membuat tipe data lain yang diturunkan
dari tipe data standar.
 Strongly-typed, programmer harus menentukan tipe data dari suatu variable dan
variable tersebut tidak dapat dipergunakan untuk menyimpan tipe data selain format
yang ditentukan.
 Terstruktur, memiliki sintaks yang memungkinkan penulisan program dipecah menjadi
fungsi-fungsi kecil (procedur dan function) yang dapat dipergunakan berulang-ulang.
 Sederhana dan ekspresif, memiliki struktur yang sederhana dan sangat mendekati
bahasa manusia (bahasa inggris) sehingga mudah dipelajari dan dipahami.
Kekurangan bahasa pascal :
 Versi awal Pascal kurang cocok untuk aplikasi bisnis karena dukungan basisdata yang
terbatas.
 Sintaks Pascal terlalu bertele-tele
 Tidak mendukung pemrograman berorientasi objek
 Pascal tidak fleksibel dan banyak kekurangan yang dibutuhkan untuk membuat aplikasi
yang besar.

Bahasa PHP
PHP adalah bahasa pemrograman script yang paling banyak dipakai saat ini. PHP pertama
kali dibuat oleh Rasmus Lerdorf pada tahun 1995. Pada waktu itu PHP masih bernama FI
(Form Interpreted), yang wujudnya berupa sekumpulan script yang digunakan untuk
mengolah data form dari web. PHP banyak dipakai untuk membuat situs web yang
dinamis, walaupun tidak tertutup kemungkinan digunakan untuk pemakaian lain. PHP

Judul Modul: Merencanakan ……….


Buku Informasi - Versi 2018 Halaman: 43 dari 52
Modul Diklat Berbasis Kompetensi Kode Modul
Sub-Golongan ..... P.854300.015.02

biasanya berjalan pada sistem operasi linux (PHP juga bisa dijalankan dengan hosting
windows). PHP4 dengan versi-versi akhir menuju PHP5 sudah mendukung pemrograman
berorientasi objek. PHP merupakan bahasa pemrograman yang digunakan untuk
pemrograman web.
Kelebihan PHP:
 PHP menjadi popular karena kesederhanaannya dan kemampuannya dalam
menghasilkan berbagai aplikasi web seperti counter, system artikel/ CMS, e-commerce,
bulletin board, dll
 PHP adalah salah satu bahasa server-side yang didesain khusus untuk aplikasi web.
 PHP termasuk dalam Open Source Product dan telah mencapai versi 4.
 Aplikasi PHP cukup cepat dibandingkan dengan aplikasi CGI dengan Perl atau Phyton
bahkan lebih cepat disbanding dengan ASP maupun Java dalam berbagai aplikasi web
 Tersedia baik di Windows maupun Linux, walau saat ini paling efektif di web server
Apache dan OS Linux
 Sintaks mirip C dan mudah dipelajari
 Komunitas yang ramai dan saling membantu, seperti di diskusiweb.com,
phpbuilder.com, phpindo.com, dll
 Berbagai script atau aplikasi yang gratis telah tersedia.
Kekurangan :
 Tidak detail untuk pengembangan skala besar
 Tidak memiliki system pemrogaman berorientasi objek yang sesungguhnya
 Tidak bisa memisahkan antara tampilan dengan logic dengan baik
 PHP memiliki kelemahan security tertentu apabila programmer tidak jeli dalam
melakukan pemrogaman dan kurang memperhatikan isu konfigurasi PHP.
 Kode PHP dapat dibaca semua orang, dan kompilasi hanya dapat dilakukan dengan tool
yang mahal dari Zend

Bahasa Phyton
Python adalah bahasa pemrograman interpretatif multiguna dengan filosofi perancangan
yang berfokus pada tingkat keterbacaan kode. Python diklaim sebagai bahasa yang
menggabungkan kapabilitas, kemampuan, dengan sintaksis kode yang sangat jelas,[11]
dan dilengkapi dengan fungsionalitas pustaka standar yang besar serta komprehensif.
Python juga didukung oleh komunitas yang besar. Python mendukung multi paradigma
pemrograman, utamanya; namun tidak dibatasi; pada pemrograman berorientasi objek,
pemrograman imperatif, dan pemrograman fungsional. Salah satu fitur yang tersedia pada

Judul Modul: Merencanakan ……….


Buku Informasi - Versi 2018 Halaman: 44 dari 52
Modul Diklat Berbasis Kompetensi Kode Modul
Sub-Golongan ..... P.854300.015.02

python adalah sebagai bahasa pemrograman dinamis yang dilengkapi dengan manajemen
memori otomatis. Seperti halnya pada bahasa pemrograman dinamis lainnya, python
umumnya digunakan sebagai bahasa skrip meski pada praktiknya penggunaan bahasa ini
lebih luas mencakup konteks pemanfaatan yang umumnya tidak dilakukan dengan
menggunakan bahasa skrip
Kelebihan :
 Tidak ada tahapan kompilasi dan penyambungan (link) sehingga kecepatan perubahan
pada masa pembuatan system aplikasi meningkat.
 Tidak ada deklarasi tipe sehingga program menjadi lebih sederhana, singkat, dan
fleksible.
 Manajemen memori otomatis yaitu kumpulan sampah memori sehingga dapat
menghindari pencatatan kode
 Tipe data dan operasi tingkat tinggi yaitu kecepatan pembuatan system aplikasi
menggunakan tipe objek yang telah ada
 Pemrograman berorientasi objek
 Pelekatan dan perluasan dalam C
 Terdapat kelas, modul, eksepsi sehingga terdapat dukungan pemrograman skala besar
secara modular
 Pemuatan dinamis modul C sehingga ekstensi menjadi sederhana dan berkas biner
yang kecil
 Pemuatan kembali secara dinamis modul phyton seperti memodifikasi aplikasi tanpa
menghentikannya
 Model objek universal kelas Satu
 Konstruksi pada saat aplikasi berjalan
 Interaktif, dinamis dan alamiah
 Akses hingga informasi interpreter
 Portabilitas secara luas seperti pemrograman antar platform tanpa ports
 Kompilasi untuk portable kode byte sehingga kecepatan eksekusi bertambah dan
melindungi kode sumber
 Antarmuka terpasang untuk pelayanan keluar seperti perangkat Bantu system, GUI,
persistence, database, dll
Kekurangan:
 Beberapa penugasan terdapat diluar dari jangkauan python, seperti bahasa
pemrograman dinamis lainnya, python tidak secepat atau efisien sebagai statis, tidak
seperti bahasa pemrograman kompilasi seperti bahasa C.

Judul Modul: Merencanakan ……….


Buku Informasi - Versi 2018 Halaman: 45 dari 52
Modul Diklat Berbasis Kompetensi Kode Modul
Sub-Golongan ..... P.854300.015.02

 Disebabkan python merupakan interpreter, python bukan merupakan perangkat bantu


terbaik untuk pengantar komponen performa kritis.
 Python tidak dapat digunakan sebagai dasar bahasa pemrograman implementasi untuk
beberapa komponen, tetapi dapat bekerja dengan baik sebagai bagian depan skrip
antarmuka untuk mereka.
 Python memberikan efisiensi dan fleksibilitas tradeoff by dengan tidak memberikannya
secara menyeluruh. Python menyediakan bahasa pemrograman optimasi untuk
kegunaan, bersama dengan perangkat bantu yang dibutuhkan untuk diintegrasikan
dengan bahasa pemrograman lainnya.

Bahasa Ruby
Ruby adalah bahasa pemrograman dinamis berbasis skrip yang berorientasi obyek.
Tujuan dari ruby adalah menggabungkan kelebihan dari semua bahasa-bahasa
pemrograman skrip yang ada di dunia. Ruby ditulis dengan bahasa pemrograman C dengan
kemampuan dasar seperti Perl dan Python. Penulisan Ruby dimulai pada Februari 1993 dan
pada Desember 1994 dirilis versi alpha dari Ruby. Pada awal perkembangan Ruby, Yukihiro
menulis Ruby sendiri sampai pada tahun 1996 sudah terbentuk komunitas Ruby yang
banyak mengontribusikan perkembangan Ruby. Saat ini Ruby telah berkembang tidak
hanya di Jepang, tetapi diseluruh dunia. Bulan Agustus tahun 2006, Macintosh telah
melakukan kerja sama dengan mengintegrasikan Ruby on Rails pada Mac OS X v10.5
Leopard telah diluncurkan bulan Oktober 2007.
Kelebihan:
 Sintaks sederhana
 Memiliki Exception Handling yang baik
 OOP
 Single inheritance
 Didukung oleh OS Linux, Windows, MacOS X, OS/2, BeOs, dan Unix.
 Merupakan bahasa pemrograman scripting yang berorientasi objek
 Memiliki garbage collector yang secara otomatis akan menghapus informasi tak
terpakai dari memori
Kelemahan :
 Multithreading. Implementasi thread di ruby masih berupa green thread, bukan native
thread. Hal ini membuat aplikasi GUI (desktop) dengan background thread tidak
mungkin diimplementasikan di ruby.
 Virtual Memory, ruby masih fully interpreted sehingga program ruby cenderung lebih
lambat.

Judul Modul: Merencanakan ……….


Buku Informasi - Versi 2018 Halaman: 46 dari 52
Modul Diklat Berbasis Kompetensi Kode Modul
Sub-Golongan ..... P.854300.015.02

 Spek. saat ini spesifikasi ruby (syntax, behaviour, dll) adalah implementasi ruby yang
asli dari matz.
 IDE. Saat ini kualitas IDE untuk ruby masih jauh daripada .net dan java. Tapi dengan
bermunculnya IDE ruby yang dibuat dengan java.net, kondisinya agak berubah. Tapi
karena ruby bahasa yang sangat dinamis, sulit untuk bisa mendapatkan informasi
secara lengkap mengenai struktur sebuah program ruby secara statis.

3. Integrated Development Environment (IDE)


Lingkungan pengembangan terpadu (IDE) adalah aplikasi perangkat lunak yang
menyediakan fasilitas komprehensif bagi pemrogram komputer untuk pengembangan
perangkat lunak. IDE biasanya terdiri dari editor kode sumber (source code), membuat alat
otomasi, dan debugger. Sebagian besar IDE modern memiliki penyelesaian kode cerdas
(intelegent code). Beberapa IDE, seperti [NetBeans] dan Eclipse, berisi compiler,
interpreter, atau keduanya; Yang lain, seperti SharpDevelop dan Lazarus. Batas antara
(IDE) dan bagian lain dari lingkungan pengembangan perangkat lunak yang lebih luas
tidak begitu jelas. Terkadang beberapa versi dari sistem kontrol, atau berbagai alat untuk
menyederhanakan pembangunan Graphical User Interface (GUI) keduanya saling
terintegrasi. Banyak IDE modern juga memiliki browser kelas (class browser), browser
objek (object browser) , dan diagram hirarki kelas , untuk digunakan dalam pengembangan
perangkat lunak berorientasi objek.
Netbeans merupakan sebuah aplikasi Integrated Development Environment (IDE)
yang berbasiskan Java dari Sun Microsystems yang berjalan di atas swing. Swing
merupakan sebuah teknologi Java untuk pengembangan aplikasi desktop yang dapat
berjalan pada berbagai macam platform seperti windows, linux, Mac OS X dan Solaris.
Sebuah IDE merupakan lingkup pemrograman yang di integrasikan ke dalam suatu aplikasi
perangkat lunak yang menyediakan Graphic User Interface (GUI), suatu kode editor atau
text, suatu compiler dan suatu debugger.
Fitur-fitur dari Platform Netbeans antara lain:
 Manajemen antarmuka (misal: menu & toolbar)
 Manajemen pengaturan pengguna
 Manajemen penyimpanan (menyimpan dan membuka berbagai macam data)
 Manajemen jendela
 Wizard framework (mendukung dialog langkah demi langkah)
 Smart Code Completion: untuk mengusulkan nama variabel dari suatu tipe,
melengkapi keyword dan mengusulkan tipe parameter dari sebuah method.

Judul Modul: Merencanakan ……….


Buku Informasi - Versi 2018 Halaman: 47 dari 52
Modul Diklat Berbasis Kompetensi Kode Modul
Sub-Golongan ..... P.854300.015.02

 Bookmarking: fitur yang digunakan untuk menandai baris yang suatu saat hendak
kita modifikasi.
 Go to commands: fitur yang digunakan untuk jump ke deklarasi variabel, source
code atau file yang ada pada project yang sama.
 Code generator: jika kita menggunakan fitur ini kita dapat meng-generate
constructor, setter and getter method dan yang lainnya.
 Error stripe: fitur yang akan menandai baris yang eror dengan memberi highlight
merah

Gambar jendela utama netbeans IDE 8.0.2

Bagian – bagian utama dari editor netbeans


1. Project navigator : berisi project – project yang dibuat di netbeans
2. Layout design : berfungsi untuk mendesign program yang akan dibuat berisi
komponen – komponen visual
3. Komponen palette : berisi komponen – komponen Swing
4. Properties navigator : berfungsi untuk mengatur atribut dari komponen yang
digunakan

Judul Modul: Merencanakan ……….


Buku Informasi - Versi 2018 Halaman: 48 dari 52
Modul Diklat Berbasis Kompetensi Kode Modul
Sub-Golongan ..... P.854300.015.02

5. Tab Source, design dan history : tab source untuk memasukkan kode program,
tab design untuk mendesign tampilan visual program, tab history berisi rekap
kegiatan yang dilakukan

B. Keterampilan yang diperlukan dalam Menerapkan hasil pemodelan ke


dalam pengembangan program
1. Mengidentifikasi ragam hasil pemodelan diagram program aplikasi perangkat lunak.
2. Menentukan dan memilih ragam diagram program yang dapat dan akan
diimplementasikan kedalam pengembangan program.
3. Mengidentifikasi fitur-fitur dasar perangkat lunak (IDE) untuk pengembangan program.
4. Menentukan dan memilih perangkat lunak (IDE) untuk pengembangan program.

C. Sikap kerja yang diperlukan dalam Menerapkan hasil pemodelan ke


dalam pengembangan program
Harus bersikap secara:
1. Cermat, tepat, teliti dalam mengidentifikasi ragam hasil pemodelan diagram program
aplikasi perangkat lunak.
2. Cermat, tepat, teliti dan sesuai spesifikasi dalam memilih ragam diagram program yang
dapat dan akan diimplementasikan kedalam pengembangan program
3. Cermat, tepat, teliti dalam mengidentifikasi fitur-fitur dasar perangkat lunak (IDE)
untuk pengembangan program.
4. Cermat, tepat, teliti dan sesuai spesifikasi dalam menentukan dan memilih perangkat
lunak (IDE) untuk pengembangan program.

Judul Modul: Merencanakan ……….


Buku Informasi - Versi 2018 Halaman: 49 dari 52
Modul Diklat Berbasis Kompetensi Kode Modul
Sub-Golongan ..... P.854300.015.02

DAFTAR PUSTAKA

A. BukuReferensi
a. Martin Fowler, UML Distiled Panduan Singkat Tentang Bahasa Pemodelan Objek
Standar, Penerbit Andi Yogyakarta, 2015
b. Roger S Pressman, Rekayasa Perangkat Lunak Pendekatan Praktis Edisi 7, Penerbit
Andi Yogyakarta, 2012
c. Adi Nogroho, Rekayasa perangkat Lunak menggunakan UML dan Java, Penerbit Andi
offset, Yogyakarata, 2009

B. Referensi Lainnya

a. Sri Dharwiyanti dan Romi Satria Wahono, Pengantar Unified Modeling Language (UML),
http://mfile.narotama.ac.id/files/Tubagus%20Purworusmiadi/Kumpulan%20File%20P
DF/MateriSuplemenUml-2.pdf
b. http://mr-fahmi.blogspot.co.id/2013/01/ragam-bahasa-pemrograman.html
c. http://ndutagen.blogspot.co.id/2012/03/artikel-bahasa-pemrograman.html
d. nnbv

Judul Modul: Merencanakan ……….


Buku Informasi - Versi 2018 Halaman: 50 dari 52
Modul Diklat Berbasis Kompetensi Kode Modul
Sub-Golongan ..... P.854300.015.02

Daftar Alat Dan Bahan

A. Daftar Peralatan/Mesin

No. Nama Peralatan/Mesin Keterangan

1. Komputer atau Laptop, infocus, laserpointer, Untuk di ruang teori/praktek


Speaker aktif, Printer
2. Komputer atau Laptop Untuk setiap peserta
3. Alat bantu (Tools) software pemodelan (power
designer, rational rose dll)
4. Perangkat lunak aplikasi perkantoran (Word
processor, spreed sheet, presentation)
5. Perangkat Lunak IDE (Netbeans IDE 7, 8 )

B. Daftar Bahan

No. Nama Bahan Keterangan

1. Alat Tulis Kantor (pensil, ballpoint, penggaris, Setiap peserta


penghapus, stabilo)
2. Kertas A4
3. Tinta (Tonner)
4. Isolasi kertas, Gunting, spidol non permanen
5. Kertas buffalo tiga warna

Judul Modul: Merencanakan ……….


Buku Informasi - Versi 2018 Halaman: 51 dari 52
Modul Diklat Berbasis Kompetensi Kode Modul
Sub-Golongan ..... P.854300.015.02

DAFTAR PENYUSUN

No. Nama Profesi

1. Widyaiseara/Instruktur …
1. Abdul Munif, S.Pd.,S.St.,M.Kom 2. Asesor …
3. Anggota …

Judul Modul: Merencanakan ……….


Buku Informasi - Versi 2018 Halaman: 52 dari 52

Anda mungkin juga menyukai