BAB 3 ANALISIS DAN PERANCANGAN PROGRAM

dokumen-dokumen yang mirip
BAB 4 IMPLEMENTASI DAN EVALUASI PROGRAM. Processor : Intel Pentium IV 1.60 GHz RAM : 256 MB

BAB 3 ANALISIS DAN PERANCANGAN PROGRAM

BAB 3 PERANCANGAN PROGRAM APLIKASI

BAB 3 ANALISIS DAN PERANCANGAN PROGRAM Latar belakang terbentuknya perusahaan IBM ini dikarenakan melihat

BAB 3 ALGORITMA DAN PERANCANGAN. membaca partitur musik ini adalah sebagai berikut : hanya terdiri dari 1 tangga nada. dengan nada yang diinginkan.

BAB 3 ALGORITMA DAN PERANCANGAN

BAB 2 LANDASAN TEORI. waktu yang diperlukan. Pengukuran waktu yang diperlukan dalam mengeksekusi suatu

BAB 3 METODOLOGI. Metodologi penelitian yang digunakan dalam penulisan ini adalah studi

BAB II. Landasan Teori

BAB 3 ANALISIS DAN PERANCANGAN PROGRAM. 3.1 Latar Belakang Persusi (Persatuan Sulih Suara Indonesia)

BAB 3 PERANCANGAN PROGRAM APLIKASI

BAB 3 ANALISIS DAN PERANCANGAN. digunakan adalah suatu sistem yang terdiri dari banyaknya perulangan, baris

BAB 3 ANALISIS DAN PERANCANGAN. Metode Inverse Modified Discrete Cosine Transform (IMDCT) yang akan

BAB 3 PERANCANGAN PROGRAM. dari OOP (Object Oriented Programming) di mana dalam prosesnya, hal-hal

UNIVERSITAS BINA NUSANTARA. Program Ganda Teknik informatika - Matematika Skripsi Sarjana Program Ganda Semester Genap 2006/2007

BAB 3 ANALISIS DAN PERANCANGAN. menentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi menjadi

BAB 3 PERANCANGAN PROGRAM

BAB 2 LANDASAN TEORI. Metode ini digunakan untuk menyelesaikan permasalahan yang terjadi pada

BAB 3 ANALISIS DAN PERANCANGAN

BAB 3 PERANCANGAN PROGRAM. Dalam perancangan program aplikasi optimalisasi pemesanan bahan baku ini,

BAB I PENDAHULUAN I.1 Latar Belakang Masalah

BAB 3 PERANCANGAN PROGRAM. objek, analisis blob, SMS service, dan video saving. Deteksi objek adalah proses untuk

BAB 6 METODE PENGUJIAN

Teknik Pengujian (2) Whitebox Testing

BAB 3 PERANCANGAN PROGRAM APLIKASI

BAB II LANDASAN TEORI

III. METODOLOGI PENGEMBANGAN. Adapun peralatan yang digunakan pada penelitian adalah sebagai berikut:

BAB 4 IMPLEMENTASI DAN EVALUASI

BAB 3 PERANCANGAN PROGRAM

BAB III METODE PERANCANGAN SISTEM

PERANCANGAN PROGRAM. struktur/hirarki menu, State Transition Diagram (STD), modul dan pseudocode, serta

BAB III METODOLOGI PENELITIAN. tools yang akan digunakan untuk merancang aplikasi generator denah

Bab III PERANCANGAN PROGRAM APLIKASI

BAB 3 ANALISIS DAN PERANCANGAN

BAB 3 ANALISIS DAN PERANCANGAN PROGRAM

TUGAS MAKALAH. Testing dan Implementasi Sistem White Box Testing

BAB III ANALISIS DAN PERANCANGAN

BAB 2 LANDASAN TEORI

BAB 1 PENDAHULUAN. 1.1 Latar Belakang. Rencana Tata Ruang Wilayah (RTRW) merupakan dasar penyusunan

BAB 3 PERANCANGAN PROGRAM APLIKASI. proses perhitungan obfuskasi, dan proses pembentukan obfuscated SWF file. Ketiga

BAB 2 LANDASAN TEORI

BAB 3 PERANCANGAN PROGRAM. Dalam perancangan program aplikasi optimalisasi pemesanan bahan baku ini,

BAB 3 ANALISIS DAN PERANCANGAN

BAB 3 ANALISIS DAN PERANCANGAN PROGRAM

BAB 2 LANDASAN TEORI. Perangkat lunak adalah perintah ( program komputer ) yang bila dieksekusi

BAB 3 PERANCANGAN PROGRAM

BAB 3 RANCANGAN PROGRAM APLIKASI

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

White Box Testing dan Black Box Testing, Perbedaannya Serta Contohnya.

APLIKASI UNTUK PEMANTAUAN LAN PADA STUDI KASUS DI UNIVERSITAS BUNDA MULIA. Abstract

BAB III ANALISA DAN PERANCANGAN. Aplikasi penterjemahan kata Indonesia-Inggris yang dibuat dalam tulisan

BAB V IMPLEMENTASI SISTEM

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB 3 ANALISIS DAN PERANCANGAN SISTEM PROGRAM APLIKASI HANDS RECOGNIZER

BAB 4 IMPLEMENTASI DAN EVALUASI

Pertemuan 8 Pemrograman

TESTING DAN IMPLEMENTASI SISTEM. WAHYU PRATAMA, S.Kom., MMSI.

Nama : Rendi Setiawan Nim :

PENYAJIAN ALGORITMA. a. Stuctured English b. Psedoucode

BAB III ANALISA DAN PERANCANGAN APLIKASI

BAB 3 ANALISIS DAN PERANCANGAN. percetakan kertas yang memproduksi segala macam jenis pencetakan. Mulai dari

Visual Basic (VB) Tatik yuniati. Abstrak.

BAB 2 LANDASAN TEORI

BAB 3 PERANCANGAN SISTEM. Tujuan dari perancangan sistem adalah untuk memenuhi kebutuhan user mengenai

BAB III METODOLOGI PENELITIAN

BAB 4 IMPLEMENTASI DAN EVALUASI. Dalam ilmu komputer, implementasi menjadi tahap realisasi dari spesifikasi

BAB III ANALISA MASALAH DAN PERANCANGAN

Tugas Rekayasa Perangkat Lunak

BAB 3 PERANCANGAN PROGRAM. Waterfall Model. Hasil analisis yang telah dilakukan adalah sebagai berikut : operasi yang paling banyak digunakan.

IMPLEMENTASI DAN PENGUJIAN

BAB 3 ANALISIS DAN PERANCANGAN. mengalami perkembangan usaha yang cukup menggembirakan.

BAB III METODOLOGI PENELITIAN

Dasar-Dasar Pengujian Perangkat Lunak. Fakultas Ilmu Komputer dan Teknologi Informasi Jurusan Sistem Informasi Univesitas Gunadarma

BAB II TINJAUAN PUSTAKA

BAB V IMPLEMENTASI SISTEM

PENGUJIAN PERANGKAT LUNAK

BAB V IMPLEMENTASI SISTEM


PEMANTAUAN LAN PADA UNIVERSITAS BUNDA MULIA DENGAN APLIKASI MONITORING. Halim Agung Tekhnik Informatika Universitas Bunda Mulia

Membuat File Database & Tabel

BAB IV PEMBUATAN DAN PENGUJIAN SISTEM

LAMPIRAN. Menurut Whitten dan Bentley (2004,p 344), Data Flow Diagram (DFD) adalah

Konstruksi Dasar Algoritma

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

2. BAB II LANDASAN TEORI. lanjut sehingga terbentuk suatu aplikasi yang sesuai dengan tujuan awal.

BAB 3 ANALISIS DAN PERANCANGAN PROGRAM. pengembangan sistem yang lazim disebut Waterfall Model. Metode ini terdiri dari enam

BAB III METODE PENELITIAN

BAB 2 LANDASAN TEORI

BAB III ANALISIS DAN PERANCANGAN

BAB II LANDASAN TEORI

BAB 2 LANDASAN TEORI

BAB III ANALISIS DAN DESAIN SISTEM

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB II LANDASAN TEORI

BAB V IMPLEMENTASI SISTEM

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

Transkripsi:

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:

31 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:

32 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

33 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

34 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

35 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: Pernyataan ditulis dalam bahasa inggris sederhana. Seiap perintah ditulis pada baris tersendiri.

36 Kata kunci atau identasi (penulisan yang menjorok ke dalam) digunakan untuk menandai struktur control khusus. Setiap bimbingan perintah ditulis dari atas ke bawah dengan hanya satu awal dan satu akhir program. 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: Menu Utama view Diagram 3.1 STD Menu View Menu Utama Create Diagram 3.2 STD Menu Create

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

38 Menu Utama View Create Clear Next Gambar 3.2 Rancangan Menu Aplikasi

39 3.3.3 Perancangan Layar Coloring Algorithm Menu Nodes: Colors: Create Clear Next View Display Gambar 3.3 Tampilan Layar Program Menu Utama

40 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. Invalid number of colors X Jumlah warna tidak boleh melebihi jumlah node ok 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

41 akan muncul gambar jaringan pada display sebelah kanan. 3.4 Perancangan FlowChart Di bawah ini adalah perancangan FlowChart dari program yang akan dibangun: Mulai Delete gambar di Clear display panel Tamplikan Kotak Peringatan Tidak Tekan Tombol OK/Clear ok Display Panel Kosong? clear Ya Clear Baca Jumlah Node Baca Jumlah Warna A B C

42 A B C Ya Jumlah Warna lebih besar dari jumlah node? tidak Jalankan Algoritma RANDOMIZATION Tekan tombol Next/Clear Next Jalankan Algoritma FLIPPING Tampilkan Hasil pada Layar Akhir

43 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

44 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

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

46 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

47 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

48 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

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