• Tidak ada hasil yang ditemukan

BAB 3 ANALISIS DAN PERANCANGAN PROGRAM

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 3 ANALISIS DAN PERANCANGAN PROGRAM"

Copied!
20
0
0

Teks penuh

(1)

BAB 3

ANALISIS DAN PERANCANGAN PROGRAM

3.1 Perancangan Program

3.1.1 Perancangan Perangkat Lunak

Perangkat lunak atau piranti lunak adalah:

1. Program komputer yang berfungsi sebagai sarana interaksi antara pengguna dan perangkat keras, penerjemah peintah-perintah yangdijalankan pengguna komputer untuk diteruskan kea tau diproses oleh perangkat keras.

2. Perintah (berupa sebuah program) yang bila dieksekusi memberikan sebuah fungsi dan unjuk kerja seperti yang diinginkan oleh si pembuat.

3. Sruktur data yang memungkinkan program memanipulasi informasi secara proporsioanal.

Menurut Sommerville (2001, p6), perncangan perangkat lunak adalah disiplin perancangan yang berhubungan dengan semua aspek dari produksi perangkat lunak dari tahap awal spesifikasi sistem sampai dengan pemeliharaan setelah sistem dalam tahap berjalan.

Perangkat lunak dibagi menjadi 3 tingkatan:

(2)

1. Tingkatan program aplikasi (application program misalnya Microsoft office).

2. Tingkatan system operasi (operating system misalnya Microsoft windows).

3. Tingkatan bahasa pemrograman (yang dibagi lagi atas bahasa pemrograman tingkat tinggi seperti pascal dan bahasa pemrograman tingkat rendah seperti bahasa rakitan).

Perangkat lunak umumnya digunakan untuk mengontrol perangkat keras, melakukan perhitungan (memproses), berinteraksi dengan perangkat lunak yang lebih mendasar lainnya seperti system operasi, dan bahasa pemrograman, dan lain-lain.

3.1.2 Daur Hidup Perangkat Lunak

Salah satu model perancangan perangkat lunak adalah dengan menggunakan model air terjun (waterfall model). Menurut Sommerville (2001, p45), tahap-tahap utama dalam model air terjun yang menggambarkan aktivitas dasar pengembangan perangkat lunak adalah sebagai berikut:

(3)

Analisis dan penentuan

Desain Sistem dan Perangkat

Implementasi dan Pengujian

Integrasi dan Pengujian

Pengoperasian dan

Gambar 3.1 Daur Hidup Perangkat Lunak (Sumber: Sommerville, 2001, p45) a) Analisis dan Penentuan Kebutuhan (Requirements)

Tugas, kendala, dan tujuan system ditentukan melalui konsultasi dengan pemakai sistem. Kemudian ditentukan cara yang dapat dipahami, baik oleh user maupun penulis.Dalam hal ini menggunakan bahasa pemrograman Java b) Desain Sistem dan Perangkat Lunak (Design)

Proses desain sistem terbagi dalam kebutuhan perangkat keras dan

(4)

perangkat lunak. Hal ini menentukan arsitektur perangkat lunak secara keseluruhan. Desain perangkat lunak mewakili fungsi sistem perangkat lunak dalam suatu bentuk yang dapat ditransformasikan ke dalam satu atau lebih program yang dapat dieksekusi.

Penulis membuat sebuah desain program menggunakan Java dan membuat flowchart jalannya program.

c) Implementasi dan Pengujian Unit (Implementation)

Dalam tahap ini, desain perangkat lunak direalisasikan dalam suatu himpunan program atau unit-unit program. Pengujian unit mencakup kegiatan verifikasi terhadap suatu unit sehingga memenuhi syarat spesifikasinya.

d) Integrasi dan Pengujian Sistem (Verification)

Unit program secara individual diintegrasikan dan diuji sebagai satu system yang lengkap untuk memastikan bahwa kebutuhan perangkat lunak telah terpenuhi. Setelah pengujian, sistem perangkat lunak disampaikan kepada pengguna.

e) Pengoperasian dan Pemeliharaan (Maintenance)

Secara normal, walaupun tidak selalu diperlukan, tahap ini merupakan bagian siklus hidup yang terpanjang. Sistem telah terpasang dan sedang

(5)

dalam penggunaan. Pemeliharaan mencakup perbaikan kesalahan yang tidak ditemukan dalam tahap-tahap sebelumnya, meningkatkan implementasi unit-unit sistem dan mempertinggi pelayanan sistem yang disebabkan oleh penemuan kebutuhan baru.

3.2 Alat Bantu Perancangan

3.2.1. State transition Diagram (STD)

State transition diagram menggambarkan jalannya suatu program dalam kondisi tertentu. Notasi yang digunakan adalah sebagai berikut:

State menunjukkan satu atau lebih kegiatan atau keadaan atau atribut yang menjelaskan bagian tertentu dari program.

Kondisi/aksi

Anak panah berarah menunjukkan perubahan state yang disebabkan oleh aksi (action) terhadap kondisi (condition) tertentu. Kondisi merupakan suatu event pada lingkungan eksternal yang dapat dideteksi oleh suatu sistem, misalnya

(6)

sinyal, interupsi, atau data. Hal ini akan menyebabkan perubahan dari suatu state ke state lainnya atau satu aktivitas ke aktivitas lainnya. Aksi merupakan hal yang dilakukan oleh sistem jika terjadi perubahan state atau merupakan reaksi terhadap kondisi. Aksi dapat menghasilkan output, tampilan pesan pada layar, kalkulasi atau kegiatan lainnya.

3.2.2. Pseudocode

Pseudocode adalah suatu bahasa pemrograman yang informal dan sangat fleksibel, yang tidak dimaksudkan untuk eksekusi pada mesin, tetapi hanya digunakan untuk mengatur pemikiran programmer sebelum melakukan pengkodean (Page-Jones. 1980, p11).

Pseudocode dapat merupakan alternatif lain dalam perancangan perangkat lunak di samping alat-alat bantu berupa diagram. Tidak ada standarisasi dalam hal penulisan pseudocode. Programmer dapat menulisnya dalam bahasa apa saja yang mereka suka, dipadukan dengan bahasa pemrograman tertentu.

Programmer juga bebas menggunakan teknik dan aturannya sendiri. Aturan untuk menulis pseudocode adalah sebagai berikut:

z Pernyataan ditulis dalam bahasa inggris sederhana.

z Seiap perintah ditulis pada baris tersendiri.

(7)

z Kata kunci atau identasi (penulisan yang menjorok ke dalam) digunakan untuk menandai struktur control khusus.

z Setiap bimbingan perintah ditulis dari atas ke bawah dengan hanya satu awal dan satu akhir program.

z Kumpulan pernyataan-pernyataan dapat dibentuk dalam modul-modul yang diberi nama tertentu.

3.3 Perancangan Sistem

3.3.1 Diagram Transisi Menu Aplikasi

Di bawah ini adalah diagram transisi keadaan sistem:

Diagram 3.1 STD Menu View

Diagram 3.2 STD Menu Create Menu Utama

view

Menu Utama

Create

(8)

Menu Utama

Create

Next

Diagram 3.3 STD Menu Next

Menu Utama

Clear

Diagram 3.4 STD Menu Clear

3.3.2 Rancangan Menu Aplikasi

Di bawah ini adalah perancangan untuk menu aplikasi yang akan dibuat softwarenya, di dalam menu ini akan dijabarkan tombol-tombol apa saja yang ada, serta urutan kejadian yang terjadi setelah penekanan tombol dilakukan.

(9)

Gambar 3.2 Rancangan Menu Aplikasi Create

View Clear

Next Menu Utama

(10)

3.3.3 Perancangan Layar Coloring Algorithm Menu

Nodes: Colors:

View

Display

Create Clear Next

Gambar 3.3 Tampilan Layar Program Menu Utama

(11)

Pada layar ini, user akan memilih banyaknya node dan warna yang diinginkan yang terdapat pada masing-masing combo box.

Node dalam program melambangkan banyaknya komputer.

Color melambangkan banyaknya software yang dilambangkan dengan warna.

Banyaknya node yang tersedia sebanyak 1-15 node. Sedangkan, banyaknya color yang tersedia sebanyak 1-10 warna. Dalam proses pemilihan ini perlu diperhatikan bahwa jumlah color tidak boleh melebihi jumlah node. Jika ternyata melebihi, maka akan muncul message dialog yang menyatakan bahwa jumlah color tidak boleh melebihi jumlah node.

ok

Invalid number of colors X Jumlah warna tidak boleh melebihi jumlah node

Gambar 3.4 Tampilan Layar Program invalid number of colors

Setelah memilih jumlah node dan color yang diinginkan, untuk menjalankan program maka tekan tombol ‘OK’. Setelah itu akan muncul gambar jaringan pada display sebelah kiri. Jika setelah itu menekan tombol ‘NEXT’ maka

(12)

akan muncul gambar jaringan pada display sebelah kanan.

3.4 Perancangan FlowChart

Di bawah ini adalah perancangan FlowChart dari program yang akan dibangun:

Mulai

clear

ok

Clear Ya

Tidak

OK

Clear

Delete gambar di display panel

Tekan Tombol OK/Clear

Display Panel Kosong?

Baca Jumlah Node

Baca Jumlah Warna

A

Tamplikan Kotak Peringatan

B C

(13)

Ya

Next tidak

Tekan tombol Next/Clear Jalankan Algoritma RANDOMIZATION

B

Jumlah Warna lebih besar dari

jumlah node?

A C

Jalankan Algoritma FLIPPING

Tampilkan Hasil pada Layar

Akhir

(14)

3.5 Perancangan Spesifikasi Proses

Untuk memperjelas proses-proses yang terjadi pada setiap modul terdapat dalam program, maka akan diperinci dengan spesifikasi modul di bawah ini:

Modul inisialisasi BEGIN

Set nilai awal untuk semua variable dan komponen.

END

Modul ok

Menunggu user memasukkan nilai inputan jumlah node dan jumlah warna.

Menunggu user menekan tombol ‘OK’

BEGIN

If tombol ”OK” dipilih then event handler untuk button click diaktifkan If display panel tidak kosong then tampilkan kotak peringatan

Else

Baca jumlah node dan jumlah warna.

If jumlah warna lebih besar dari jumlah node then tampilkan kotak peringatan

(15)

Else

Simpan kumpulan node ke dalam vector dengan menjalankan algoritma randomization.

END

Modul next BEGIN

Simpan kumpulan node ke dalam vector dengan menjalankan algoritma flipping.

END

Modul clear

Menunggu user menekan tombol Clear.

BEGIN

Me-reset tampilan display panel.

END

Modul randomization BEGIN

(16)

Inisialisasi vektor untuk menampung node-node yang dibuat.

For i=0 sampai jumlah node

If semua warna yang tersedia sudah dipakai then tentukan warna sebuah node secara random dari kumpulan-kumpulan warna yang tersedia.

Buat objek node.

Simpan objek node ke dalam vector.

Return vector yang sudah dibuat.

END

Modul flipping BEGIN

Baca jumlah sisi yang rusak pada kumpulan node-node di dalam vector awal.

For i=0 sampai jumlah node

Dapatkan vector sementara dengan eksekusi method TryFlipping untuk mencoba apakah sebuah node akan melakukan color flip.

If vector sementara tidak sama dengan null then set node-node dalam vector sementara ke vector awal.

(17)

Baca jumlah sisi yang rusak dari node-node yang ada di dalam vector awal.

END

Modul generate color BEGIN

For i=0 sampai jumlah warna

Tentukan R antara 1 sampai 255 secara random.

Tentukan G antara 1 sampai 255 secara random.

Tentukan B antara 1 sampai 255 secara random.

END

3.6 Perancangan Algoritma

Berikut ini akan dijelaskan perancangan algoritma randomization dan color flipping yang akan digunakan pada program:

3.6.1 Perancangan algoritma Randomization

Function Randomization(nColor, nNode, calcXY, R, G, B) Var vect := the empty set

For i := 0 till i <= nNode Var index

(18)

If i < nColor Then index := i Else

index = random(nColor)

Var color := new color (R, G, B)

Var position := calculate(i) from calcXy Var node := new Node

Add to vector

return vector;

nColor adalah jumlah warna yang tersedia.

nNode adalah jumlah node yang ada dalam jaringan.

calcXY merupakan variable yang digunakan untuk mendapatkan posisi X dan Y sebuah node pada saat digambar di display panel.

R, G, B adalah kumpulan nilai-nilai untuk membuat objek warna.

Pertama-tama, variable vect diinitialisasikan dengan nilai nil. I adalah sebuah variable counter yang akan melakukan operasi-operasi di dalam for loop sebanyak jumlah node yang ada. Variable index merupakan index untuk kumpulan nilai-nilai RGB. Jika nilai I lebih kecil dari jumlah warna, maka index yang

(19)

dipakai sama dengan nilai i. Namun jika tidak, maka nilai index akan didapatkan secara random dengan angka berkisar antara 0 sampai jumlah warna yang tersedia.

Variable color dibuat berdasarkan dengan nilai-nilai RGB. Nilai variable position didapatkan mengeksekusi metode calculate di dalam calcXY. Variable node dibuat berdasarkan color, posisi, dan informasi lainnya yang perlu diketahui oleh sebuah node. Kemudian, masukkan node yang sudah dibuat ke dalam variable vector.

3.6.2 Perancangan algoritma Color Flipping Function Flipping(random)

Var defectEdge := Get defective edges Var newSet := new empty set

Foreach j in random

Var color := get minority color Var node := get the node in random

Var temp := try to flip the color of the selected node If defect edge < defectEdge then

Set temp as the new set of nodes

defectEdge := get current defective edge return newSet

(20)

random merupakan kumpulan dari node-node yang dibuat oleh algoritma randomization. Variable defectEdge diinisialisasikan dengan mengeksekusi metode get defective edge. Variable newest diinisialisasikan dengan nilai nil.

Untuk setiap node di dalam random, dilakukan evaluasi color flipping.

Variable color diinisialisasikan dengan mengeksekusi metode get minority color.

Variable temp merupakan variable sementara dimana color flip sudah dilakukan oleh node tertentu.

Jika jumlah sisi yang rusak dari variable sementara lebih kecil dari jumlah sisi yang rusak sebelumnya, maka variable sementar ditetapkan sebagai kumpulan node-node yang baru.

Referensi

Dokumen terkait

Label halal adalah keterangan halal yang tertulis pada kemasan yang dikeluarkan atas dasar pengukuhan halal yang menyatu pada kemasan produk sebagai jaminan yang sah bahwa jaminan

Perancangan sistem terbagi menjadi 3 bagian, yaitu perancangan perangkat keras, perancangan fuzzy logic controller dan perancangan perangkat lunak. 1) Perancangan

String matching fokus pada pencarian satu, atau lebih umum, semua kehadiran sebuah kata (lebih umum disebut pattern ) dalam sebuah teks. Semua algoritma yang akan dibahas

Dengan memanjatkan puji syukur kehadirat Allah SWT, yang telah melimpahkan Rahmat dan Karunianya kepada kita semua, sehingga kami dapat menyelesaikan Peta Penyakit tahun 2014

Hasil dari pengujian variabel ini tidak sejalan dengan penelitian sebelumnya yang dilakukan oleh Abdullah (2006), yang menjelaskan bahwa terdapat pengaruh signifikan kepemilikan

Berdasarkan hasil penelitian dan pembahasan mengenai pengaruh kompetensi aparatur Pemda, penerapan akuntansi berbasis akrual serta implementasi SIMDA terhadap

Untuk menjaga kualitas pelayanan dan meningkatkan keterampilan, petugas kesehatan dilatih standarisasi MTBS dengan mempelajari materi dasar dan materi inti yang

Tahap implementasi merupakan tahap pada proses pengembangan perangkat lunak setelah dilakukan analisis kebutuhan dan desain sistem. Desain yang telah dirancang