Wednesday, April 8, 2015

Input into Array in BASH

#!/bin/bash

pilihan="0"
input=""
ctr=0

declare -a nama
declare -a buku
declare -a harga
declare -a jumlah

while [  $pilihan != "4" ]; do
echo
echo "1. Input file"
echo "2. Input order"
echo "3. View order"
echo "4. Exit"
printf "Pilihan: "
read pilihan

if [ $pilihan == "2" ]
then
ctr=$[$ctr +1]
printf "Input Nama customer: "
read input
nama[$ctr]=$input
printf "Input Nama buku: "
read input
buku[$ctr]=$input
printf "Input Harga buku: "
read input
harga[$ctr]=$input
printf "Input Jumlah buku: "
read input
jumlah[$ctr]=$input
elif [ $pilihan == "3" ]
then
for (( i=1; i<=$ctr; i++ ))
do
printf "Nama $i : "
echo ${nama[$i]}
printf "Buku $i : "
echo ${buku[$i]}
printf "Harga $i : "
echo ${harga[$i]}
printf "Jumlah $i : "
echo ${jumlah[$i]}
done
elif [ $pilihan == "1" ]
then
printf "Input nama file: "
read input
write_to_file()
{
local file="$input.file"
if [ ! -f "$file" ] ; then
touch "$file"
echo "File is created"
else
printf "File is exist. Overwrite? (Y/N) -- "
read pilihan
if [ $pilihan == "Y" ]
then
ex="$input.file"
rm $ex
echo "File is created"
elif [ $pilihan == "N" ]
then
printf "Input nama file: "
read pilihan
if [ $pilihan == $input ]; then
echo "File is exist."
fi
else
echo "Can only read Y/N"
fi
fi
local file="$input.file"
touch "$file"
}
write_to_file
fi
done

Project Lifecycle (Phases of Unified Process)


Development dari sebuah system software bisa direpresentasikan dalam sebuah rangkaian siklus. Siklus akan berhenti ketika software telah berada di tangan customer.

Dalam Unified Process, setiap siklus terdiri empat tahap. Sebuah fase memiliki rentang waktu antara dua tonggak utama, saat dimana manajer membuat keputusan apakah proyek akan dilanjutkan. Jika ya, apa saja yang dibutuhkan mengenai ruang lingkup proyek, anggaran, dan waktu.

Inception Phase
·      Tujuan utama dari fase Inception adalah untuk menetapkan kasus untuk siklus hidup sistem yang diusulkan.
·      Yang harus dilakukan selama Inception adalah sebagai berikut:
o  Membangun pembenaran atau system yang baru untuk proyek
o  Menetapkan ruang lingkup proyek dan batas kondisi
o  Outline system yang diusulkan
o  Mengidentifikasi risiko kritis dan menentukan kapan dan bagaimana masalah ini akan dibahas
o  Mulai untuk membuat proposal bisnis bahwa proyek ini layak dilakukan (berdasarkan perkiraan awal biaya, tenaga, jadwal, dan kualitas produk)
·      Tonggak utama yang terkait dengan fase Inception disebut Life-Cycle Objectives.
·      Indikasi bahwa proyek telah mencapai tonggak ini adalah sebagai berikut:
o  Para pemilik modal utama menyetujui system yang diusulkan
o  Sistem memiliki persyaratan tingkat tinggi.
o  Keuntungan dari proyek bermanfaat

Elaboration Phase
  Tujuan utama: membangun kemampuan untuk membangun sistem baru mengingat kendala keuangan, kendala jadwal, dan jenis lain dari kendala yang dihadapi proyek pembangunan.
     Yang harus dilakukan selama Elaborasi adalah sebagai berikut:
o  Menangkap mayoritas sehat persyaratan fungsional yang tersisa
o  Mendefinisikan dan menjelaskan cara kerja system yang baru
o  Mengatasi risiko yang signifikan secara berkesinambungan
o  Menyelesaikan anggaran dana untuk proyek dan mempersiapkan rencana proyek yang berisi detail yang cukup untuk memandu fase berikutnya dari proyek (Konstruksi)
     Tonggak utama yang terkait dengan fase Elaborasi disebut Life-Cycle Architecture.
     Indikasi bahwa proyek telah mencapai tonggak ini adalah sebagai berikut:
o  Sebagian besar persyaratan fungsional untuk sistem baru telah digambar menggunakan model.
o  Baseline arsitektur adalah sistem kecil yang akan menjadi dasar bagi development selanjutnya.
o  Proposal telah disetujui, dan tim proyek memiliki rencana proyek awal yang menggambarkan bagaimana tahap konstruksi akan dilanjutkan.

Construction Phase
     Tujuan utama: membangun sebuah sistem yang mampu beroperasi dengan sukses dalam lingkungan pelanggan beta.
     Selama konstruksi, tim melakukan tugas-tugas yang melibatkan membangun sistem iteratif dan bertahap, serta memastikan bahwa kelangsungan hidup sistem selalu jelas dalam bentuk yang dapat dijalankan.
     Tonggak utama disebut Kemampuan Operasional Awal.
     Proyek ini telah mencapai tonggak ini jika satu set pelanggan beta memiliki sistem yang kurang atau lebih beroperasi penuh di tangan mereka.

Transition Phase
     Tujuan utama: untuk memberikan sistem yang telah jadi kepada pelanggan.
     Selama fase ini, tim berfokus pada mengoreksi cacat dan memodifikasi sistem untuk memperbaiki masalah yang sebelumnya tak dikenal.

     Tonggak utama yang terkait dengan fase Transisi disebut Produk Release.