Sabtu, 20 April 2019

REKAYA PERANGKAT LUNAK


REKAYASA PERANGKAT LUNAK
Ayu Wulandari
1117101492
1. Tahapan umum pengembangan perangkat lunak.
Layanan proses pengembangan perangkat lunak di Indonesia sudah mencapai masa dimana hamper disetiap tahapan pengembangannya dapat diikuti oleh berbagai perusahaan pengembang perangkat lunak. Disebut juga dengan SDLC Software Development Life Cycle. Terdapat enam tahapan umum dalam proses pengembangan perangkat lunak, antara lain sebagai berikut.
a.      Perencanaan / Planning
Tanpa adanya perencanaan yang tapat, penghitungan kelebihan dan kelebihan dari suatu proyek, maka pengembangan perangkat lunak bisa dikatakan tidak akan berhasil atau juga sia-sia. Perencanaan membuat sebuah proses yang ada didalam proyek menjadi terarah, tersusun dan rapi.
b.      Analysis
Pada tahapan ini, akan dilakukan analisis terhadap performa dan respon perangkat lunak pada berbagai variasi tahapan dan serta segala kebutuhan sistem akan dianalisis dan ditulis pada tahapan ini.
c.       Design
Ketika tahapan analisi sudah lengkap, maka tahapan selanjutnya adalah mendesain perangkat lunak yang pada dasarnya merupakan pondasi dari pengembangan perangkat lunak. Tahapan ini membantu mengurasi kemungkinan kegagalan dalam proses selanjutnya.
d.      Development dan Implementation.
Inti dari pengembangan perangkat lunak dimulai pada tahapan ini dengan merekam sebuah data dari proses pengembangan. Ketika perangkat lunak sedang dikembangkan, maka dilakukan tahap implementasi untuk melihat apakah sistem berjalan sesuai dengan yang diharapkan.
e.      Testing.
Tahap testing digunakan untuk mengumpulkan data mengenai error sistem dan bugs jika ada.
f.        Maintenance
Ketika semua tahapan sudah dilakukan, maka selanjutkan dilakukan proses dimana perangkat lunak akan dibenahi dan diupgrade secara berkala sesuai dengan kebutuhan. Hampir pada setiap pengembangan pernagkat lunak di Indonesia menggunakan SDLC ini.
   2. Pengertian perangkat lunak merupakan suatu instruksi (program komputer) yang ketika dijalankan menyediakan fungsi dan tampilan yang diinginkan, struktur data yang memberi kesempatan program untuk memanipulasi informasi dan dokumen yang mendiskripsikan operasi dan penggunaan program.
a.      Karakteristik Perangkat Lunak
o   Functionality
o   Reliability
o   Effeciency
o   Usability
o   Maintainability
o   Portability

b.      Software Engineering Layer
Software engineering dapat terlihat seperti lapisan teknologi. Variasi layer bertumpuk kebawah.
a.      Process Layer
Memungkinkan pengembangkan software secara on time. Ini berarti outline digunakan sebagai satuan untuk proses kunci pada area yang harus dikembangkan.
b.      Method Layer.
Lapisan ini menutupi broad array yang sedang dikerjakan termasuk kebutuhan analisis, design, coding, testing dan maintenance pada tahapan pengembangan perangkat lunak.
c.       Tools layer
Tools ini terintegrasi dengan tools lainnya yang dapat digunakan untuk membuat atau menyimpan informasi dalam satu tool. Ini bersifat multiguna yang biasanya digunakan pada CASE (Computer-Aided Software Engineering).
       
     3. Model process apa yang akan anda gunakan dalam melakukan pengembangan perangkat lunak dan jelaskan alasannya! Serta Buatlah rancangan context diagram, dekomposisi diagram, dan DFD level 0 dan 1
Jawaban :
Saya akan menggunakan metode waterfall untuk model proccessnya, karena metode ini memungkinkan untuk departementalisasi dan kontrol. proses pengembangan model fase one by one, sehingga meminimalis kesalahan yang mungkin akan terjadi. Pengembangan bergerak dari konsep, yaitu melalui desain, implementasi, pengujian, instalasi, penyelesaian masalah, dan berakhir di operasi dan pemeliharaan.
a.      Rancangan context diagram

Selasa, 27 Maret 2018

GRAPH | WEIGHTED GRAPH | STRUKTUR DATA




GRAPH



A.   Graph adalah  sekelompok simpul-simpul (nodes/vertices) V, dan sekelompok sisi (edges) E yang menghubungkan sepasang simpul. Bayangkan simpul-simpul tersebut sebagai lokasi-lokasi, maka himpunan dari simpul-simpul tersebut adalah himpunan lokasi-lokasi yang ada. Dengan analogi ini, maka sisi merepresentasikan jalan yang menghubungkan pasangan lokasi-lokasi tersebut.
Graf juga didefinisikan sebagai himpunan benda-benda yang disebut verteks (node) yang terhubung oleh sisi (atau edge ata u arc). biasanya graf digambarkan sebagai kumpulan titik-titik (melambangkan verteks) yang dihubungkan oleh garis-garis (melambangkan sisi).
contoh implementasi graf pada struktur data :



-       Graf tak berarah (undirected graph)



Graf yang sisinya tidak mempunyai orientasi arah disebut graf tak berarah. Pada graf tak-berarah, urutan pasangan simpul yang dihubungkan oleh sisi tidak diperhatikan. salah satu contoh graf tak berarah dimana sisi-sisi yang menghubungkan antar simpul dalam graf tersebut tidak memiliki orientasi arah.



-        Graf Berarah (directed graph)



Graf yang setiap sisinya memiliki orientasi arah disebut sebagai graf berarah. Sisi berarah dalam graf ini dapat dinamakan sebagai busur (arc). Lain halnya dengan graf tak-berarah, urutan pasangan simpul disini sangat diperhatikan karena dapat menyatakan hal yang berbeda. contoh dari graf berarah yang memiliki sisi-sisi dengan orientasi arah (busur).



B.   Graph berbobot (weighted graph)



Apabila sisi-sisi pada graph disertai juga dengan suatu (atau beberapa) harga yang menyatakan secara unik kondisi keterhubungan tersebut maka graph tersebut disebut graph berbobot. Biasanya dalam masalah-masalah graph bobot tersebut merupakan "biaya" dari keterhubungan ybs. Pengertian "biaya" ini menggeneralisasikan banyak aspek: biaya ekonomis dari proses/aktifitas, jarak geografis/tempuh, waktu tempuh, tingkat kesulitan, dan lain sebagainya. Dalam beberapa masalah lain bisa juga bobot tersebut memiliki pengertian "laba" yang berarti kebalikan dari "biaya" di atas. Dalam pembahasan algoritma-algoritma graph nanti pengertian bobot akan menggunakan pengertian biaya sehingga apabila diaplikasikan pada masalah yang berpengertian laba maka kuantitas-kuantitas terkait adalah kebalikannnya. Misalnya mencari jarak tempuh minimum digantikan dengan mencari laba maksimum.

Oke langsung saja ke contoh kasusnya yaa^^

Disini terdapat suatu kasus, seperti pada gambar :






Nah, pada kasus di atas, kita di minta untuk menentukan beberapa hal, seperti :

1. Path

2.Jarak tempuh dari satu kota ke kota lain

3. Jarak terjauh

4 Jarak terpendek

oke, let's answer this amazing taks!!

1. Kita akan mencoba untuk membuat Parth jarak tempuh dari Jakarta - Blitar.

Perhatian contoh kasus pada gambar di atas tadi, hubungkan Path dari kota ke kota lainnya Mulai dari Jakarta hingga ke Blitar. Perhatikan jaraknya juga ya gaes^^ 

Nah, ini hasil yang aku kerjakan





NB : Bentuk Path dari kota ke kota lainya gak perlu persis letaknya seperti di peta ya. Ini free aja. Imagine it:D



Oke move ke taks ke 2, yaitu Menghitung Jarak tempuh tiap Path. Karena jalurnya sudah terbentuk, kita langsung hitung dari Jarak sesuai jalur yaa.

-       Jalur 1

Jakarta – Semarang – Banyuwangi – Blitar = 1650 km

-       Jalur 2

Jakarta – Semarang – Jogja – Malang – Banyuwangi – Blitar = 1500km

-       Jalur 3

Jakarta – Semarang – Jogja – Malang – Blitar = 870 km

-       Jalur 4

Jakarta – Jogja – Malang – Blitar = 970 km

-       Jalur 5

Jakarta – Jogja – Malang – Banyuwangi – Blitar = 1600 km

-       Jalur 6

Jakarta – Malang – Blitar = 920 km

-       Jalur 7

Jakarta – Malang – Banyuwangi – Blitar = 1550 km



Langsung move ke task 3 dan 4, menentukan jarak terpanjang dan terpendek. Tinggal pilih aja dari 7 jalur yang sebelumnya sudah di hitung mana jarak terpanjang dan terpendeknya.

3. Path terpanjang adalah Jalur 1

4. Path terpendek adalah Jalur 3

Yah, kira-kira seperti itulah pembahasan kita kali ini. Semoga bermanfaat^^


Rabu, 28 Februari 2018

STACK | QUEUE CIRCULAR ARRAY | STRUKTUR DATA

PENGERTIAN QUEUE (ANTRIAN)
  1. Enqueue adalah proses untuk memasukkan elemen artinya menambah data baru. Jika elemen data tidak bisa dimasukkan karena melebihi kapasitas queue akan muncul error yang disebut Overflow.
  2. Dequeue adalah proses untuk mengeluarkan elemen artinya menghapus data. Jika tidak bisa mengeluarkan elemen data satupun karena kosong akan terjadi error yang disebut dengan Underflow.
Implementasi Queue dengan Circular Array

Circular Array
Circular array adalah suatu array yang dibuat seakan-akan merupakan sebuah
lingkaran dengan titik awal (head) dan titik akhir (tail) saling bersebelahan jika array tersebut masih kosong. Posisi head dan tail pada gambar diatas adalah bebas asalkan saling bersebelahan. Berikut ini diberikan deklarasi kelas Queue Circular sebagai implementasi circular array. Dalam prakteknya, Anda dapat menggantikanny sesuai dengan kebutuhan Anda. Data diakses dengan field data, sedangkan indeks itemn pertama dan terakhir disimpan dalam field Head dan Tail. Konstruktor akan menginisialisasi nilai Head dan Tail dengan 0 dan MAX-QUEUE-1 untuk menunjukkan bahwa antrian masih kosong dan mengalokasikan data sebanyak MAX-QUEUE yang ditunjuk oleh Data. destruktor akan mengosongkan antrian kembali dan mendealokasikan memori yang digunakan oleh
antrian. Operasi-Operasi Queue dengan Circular Array :
-          IsEmpty
Fungsi IsEmpty berguna untuk mengecek apakah Queue masih kosong atau sudah berisi. Hal ini dilakukan dengan mengecek apakah tail masih terletak bersebelahan dengan head dan tail lebih besar dari head atau tidak. Jika benar, maka queue masih kosong.

-           IsFull
Fungsi IsFull berguna untuk mengecek apakah queue sudah penuh atau masih bias menampung data dengan cara mengecek apakah tempat yang masih kosong tinggal satu atau tidak (untuk membedakan dengan empty dimana semua tempat kosong). Jika benar berarti queue penuh.

-          EnQueue
Fungsi EnQueue berguna untuk memasukkan sebuah elemen ke dalam queue tail dan head mula-mula bernilai nol (0).

-          DeQueue
DeQueue berguna untuk mengambil sebuah elemen dari queue. Hal ini dilakukan dengan cara memindahkan posisi head satu langkah ke belakang.
Baiklah, saya akan memberikan sedikit contoh dengan Max 5
Terdiri dari A Y U W L N
Berikut penyelesaiannya ^^











Yah, kira-kira begitu lah penyelesaiannya. Karena sebenarnya ini bagian dari tugas kuliah, mohon maaf apabila ada kekurangan hehe^^ komentar kalian akan sangat berarti untuk saya. Mohon bantuannya^^


Minggu, 25 Februari 2018

Binaray Tree | Struktur Data

Binary Tree
Struktur Data


Binary Tree 
adalah tree dengan syarat bahwa tiap node hanya boleh memiliki maksimal dua subtree dan kedua subtree tersebut harus terpisah. Sesuai dengan definisi tersebut, maka tiap node dalam binary tree hanya boleh memiliki paling banyak dua child yaitu leftchild dan rightchild.
Berikut adalah contoh tree
terdiri dari nama saya hehe^^
A Y U  W U L A N D A R I
Root  : satu-satunya node khusus dalam tree yang tak punya predecssor.
Leaf   : node-node dalam tree yang tak memiliki seccessor.

Yah kira kira seperti itu caranya. Karena saya juga tahap belajar, komentar kalian akan sangat berarti untuk saya^^ Terimakasih Banyak

Senin, 05 Februari 2018

Cara Menggunakan Fungsi POP Array javascript

Baik.. Langsung saja^^
Pertama buat file baru pada notepad++ simpan dan beri nama index dengan format html.
<!Doctype html>
<html>
<head>
<title>Belajar Javascript : Tugas Array : Tugas 1</title>
</head>
<body>
<script src="coding3.js"></script>
</body>
</html>
*) di gunakan untuk memanggil file .js di file yang berbeda

Kedua, buat file dengan format .js dan beri nama coding3.js
berikut ada contoh yang akan di bahas
*)Angka di luar kotak merupakan length array
berikut coding yang di isikan pada file .js tadi :
var angka = ["6","5","4","1","3","2","3","5"];

document.write(angka);
document.write("<br>");
angka.pop();
document.write(angka);
document.write("<br>");
angka.pop();
document.write(angka);
document.write("<br>");
angka.pop();
document.write(angka);
document.write("<br>");
angka.pop();
document.write(angka);
document.write("<br>");
angka.pop();
document.write(angka);
document.write("<br>");
angka.pop();
document.write(angka);
document.write("<br>");
angka.pop();
document.write(angka);
document.write("<br>");
angka.pop();
document.write(nama);

Dan ini adalah hasilnya

Berikut adalah Stack dari contoh di atas :


Selamat Mencoba^^



Senin, 04 Desember 2017

Membuat Nota Order || Javascript

Ini dia scriptnya :

<html>
<head>
<title>ORDER CACING</title>
</head>
<body>
<script language="javascript">
function tekan()
{
var jumlah = parseFloat(document.fega.ijumlah.value);
var nama = parseFloat(document.fega.inama.value);
var jenis = parseFloat(document.fega.ijenis.value);
var ht = 0.0;
var sub = 0.0;
var pph = 0.0;
var total = 0.0;

if (jenis == 1)
{
ht = 70000;
}else if (jenis == 2)
{
ht = 80000;
}else if (jenis == 3)
{
ht = 90000;
}else
{
ht = 30000;
}
sub = jumlah * ht;

if (document.fega.imitra.checked == true)
{
diskon = 0.10*ht;
}else
{
diskon = 0.0*ht;
}

 
total = sub + diskon;
   document.fega.ojenis.value = eval(ht);
   document.fega.odiskon.value = eval(diskon);
   document.fega.osub.value = eval(sub);
   document.fega.ototal.value = eval(total);

</script>
<form name = "fega">
<table border="1" align="center" width="80%">
<tr><td width="100%" colspan="2">
<h2 align="center">FORM  ORDER PT. BUDIDAYA CACING</h2>
</td></tr>
<tr><td width="50%">
<pre>
Perusahaan / Nama : <input type="text" size="20" name="inama">
Jenis Cacing : <select name="ijenis" size="1">
               <option value="1">Lumbricus Rubellus</option>
               <option value="2">Eisenia Fetida</option>
               <option value="3">Eudrillus Eugeniae</option>
               </select>
Jumlah Order per kilo : <input type="text" size="20" name="ijumlah">
Perusahaan Mitra : <input type = "radio" value = "member" name = "imitra"> Mitra
</td></pre>
<td width="50%">

<pre>
Harga per kilo : Rp <input type="text" size="20" name="ojenis">
Sub Total : Rp <input type="text" size="20" name="osub">
Diskon 10% : Rp <input type = "text" size = "20" name ="odiskon">
Total Bayar : Rp <input type="text" size="20" name="ototal">

</td></tr></pre>
<tr><td width="100%" colspan="2">
<center>
<input type="button" value="Check" onclick="tekan()">
<input type="reset" value="Reset">
<input type = "button" value = "Submit">
</center>
</td></tr>
</table>
<script type="text/javascript">
            function tekan2()
            {
             var namastr = (document.fform.nama.value);
var jenisstr = (document.fform.jenis.value);
var totalstr = (document.ffrom.total.value);
             document.fform.onama.value = namastr;
document.fform.ojenis.value = jenisstr;
document.fform.ototal.value = totalstr;
            }

        </script>
        <form name ="fform">
            <H1> NOTA</H1>
                Perusahaan / Nama : <input type="text" size="30" name="nama"><br>
Jenis Cacing : <input type="text" size="30" name="jenis"><br>
Total : <input type = "text" size = "30" name = "total">
            <BR>
                <input type="button" value="Order" onclick="tekan2()">
</form>
</body>
<body style="color:black; text-align:center; background-color:none"/>
<h3>LIST CACING</h3>
<form action="#">
<table border="1px">
<tr bgcolor="white">
<th>No</th>
<th>JENIS CACING</th>
<th>Harga per kilo</th>
</tr>
<tr>
<td width="25px">1</td>
<td width=”200px”>Lumbricus Rubellus</td>
<td width="85px" bgcolor="white"> <input value="70000" size="20"/></td>
</tr>
<tr>
<td>2</td>
<td>Eisenia Fetida</td>
<td bgcolor="white"><input value="80000" size="20"/></td>
</tr>
<tr>
<td>3</td>
<td>Eudrillus Eugeniae</td>
<td bgcolor="white"><input value="90000" size="20"/></td>
</tr>
</table><br/>
</html>

REKAYA PERANGKAT LUNAK

REKAYASA PERANGKAT LUNAK Ayu Wulandari 1117101492 Awulandari780@gmail.com 1. Tahapan umum pengembangan perangkat lunak. Layan...