Manajemen Perubahan Hidup

Dalam hidup ini kita senantiasa mengalami perubahan. Namun perubahan yang diharapkan adalah perubahan menuju arah yang lebih baik. Tidak ada yang Cuma-Cuma, semuanya harus diupayakan dan direncanakan, dimulai dari diri sendiri. Maka dari itu, saya secara pribadi membuat manajemen perubahan hidup saya. Dimulai dengan melihat dimana posisi saya sekarang dan kemana saya akan menuju. Lalu tentukan masalah apa saja yang akan saya hadapi nanti, kemudian saya pecah dan mencari solusi untuk setiap pecahannya. Dan inilah daftar pencapaian yang telah dan akan saya (harus) dapatkan:

  1. Masuk PTN
  2. Kuliah tanpa membebani orang tua
  3. Mendapatkan IPK di atas 3
  4. Memperluas pergaulan
  5. Mengasah softskill
  6. Menghasilkan uang dari softskill
  7. Lulus tepat waktu
  8. Mendapatkan pekerjaan sebagai modal awal
  9. Membuka usaha rumah makan
  10. Menikah (optional)
  11. Membelikan Ibu rumah di pedesaan dengan halaman luas untuk bercocok tanam

Lalu,  daftar masalah dan yang harus saya rubah untuk mencapai hal-hal di atas adalah :

  1. Tercapai
  2. Tercapai
  3. Tercapai, namun harus terus dipertahankan dengan cara memegang komitmen untuk terus belajar dengan giat. Karena kekontinyuan selalu menjadi masalah, niat yang kuat dibuthkan untuk mengatasinya.
  4. Tidak semua orang bisa menerima saya seperti ini. Maka selalu menjadi pribadi yang baik untuk sekitar, jangan menutup diri untuk berubah menjadi lebih baik dan berkenalan dengan orang baru setiap harinya
  5. Kebingungan dengan passion yang sebenarnya. Sampai saat ini saya baru mendapatkan satu passion yaitu di bidang broadcasting. Karena itu, saya mengasahnya dengan mengikuti kursus. Untuk softskill lainnya, saya akan cari tahu dengan mencobasemua hal baru
  6. Softskill yang masih dalam level rendah tentunya belum bisa menghasilkan uang, karena dari itu saya harus terus asah dan perbanyak pengalaman
  7. Gosipnya, di jurusan saya sekarang sangatlah jarang mahasiswa lulus tepat waktu. Masalahnya ada di pengerjaan skripsi yang sering tertunda karena berbagai alasan. Solusinya, jadikan skripsi sebagai prioritas utama sebelum benar-benar lulus
  8. Kemampuan berkomunikasi dan “menjual diri” sangat dibutuhkan ketika melamar pekerjaan. Harus belajar dari sekarang untuk memperbaiki kualitas diri
  9. Masalah saya ketika membuka usaha adalah karena kurangnya motivasi untuk konsisten menjalankan usaha. Solusinya, lakukan dengan sungguh-sungguh dan tumbuhkan motivasi sebesar-besarnya
  10. Banyak sekali masalah dalam pernikaham. Karena itu saya menjadikannya pilihan dalam hidup saya.
  11. Butuh uang banyak, maka saya harus mengumpulkan uang secepat mungkin

 

Berikut adalah manajemen perubahan hidup saya.

Etika Guru

 

Guru adalah panutan. Tak hanya untuk anak didiknya, namun juga untuk lingkungannya. Ketika sorang guru berperilaku baik, maka lingkungan akan menganggap itu hal yang seharusnya, namun ketika seorang guru berperilaku buruk, lingkungan akan menilai bahwa orang tersebut tak layak disebut guru.

Sebegitu besar tanggung jawab untuk mengemban profesi sebagai guru. Apalagi dengan budaya di Indonesia yang hubungan sosialnya begitu erat, etika sebagai guru sangatlah dibutuhkan.

Sudah selayaknya guru bisa menjadi contoh yang baik bagi muridnya. Tidak hanya dengan memberi tahu mana yang baik dan buruk, namun juga harus diikuti dengan mencontohkan keteladanan pada muridnya. Karena anak adalah media peniru, apa yang ia lihat dan rasakan akan tertanam pada pikirannya sehingga menjadi sesuatu yang ia ingat dan lakukan.

Selain itu, guru harus bisa mengendalikan dan mempengaruhi muridnya. Karena skarakter orang berbeda-beda, dengan mengenali lebih dekat kepribadian muridnya, guru akan bisa memperhitungkan langkah yang harus diambil untuk bisa mempengaruhi dan mengendalikan muridnya.

Hal lain yang tak boleh dilupakan dalam etika guru adalah profesionalitas. Guru yang professional adalah guru yang melakukan  pekerjaan yang sudah dikuasai atau telah dibandingkan baik secara konsepsional secara teknik atau latihan.

Sebagai manusia biasa, kita senantiasa mengalami perubahan dalam hidup, termasuk perubahan kepribadian. Yang bagus adalah ketika perubahan itu menuju arah yang lebih baik. Begitupun ketika manusia itu berprofesi sebagai guru, harus selalu ada perubahan kepribadian menuju arah yang lebih baik, bukan untuk dirinya sendiri, namun juga untuk murid, lingkungan, dan profesinya.

Semua hal yang berhubungan dengan etika guru telah tercantum dalam peraturan di organisasi PGRI yang merupakan sarana perjuangan dan pengabdian para guru di Indonesia.

Berat memang mengemban profesi sebagai tenaga pendidik karena hasil dari semuanya adalah karakter manusia baru sebagai penerus bangsa. Maka dari itu, profesi guru menempati posisi sebai-baiknya profesi. Selamat belajar, dan teruslah berjuang, para guru dan calon guru!

Linux File Permission

Linux dirancang untuk multi-user (banyak pengguna). Dalam lingkungan yang lebih dari satu pengguna, sangat penting untuk memilki sistem yang aman untuk menentukan file mana yang hanya bisa diakses oleh Anda dan mana file yang bisa diakses oleh pengguna lain. Jika hanya Anda yang menggunakan computer linux Anda, maka kerahasiaan file Anda bisa terjamin dengan menggunakan Linux File Permission ini.

Kepemilikan File

Hak akses file didefinisikan secara terpisah untuk user, group dan other.

User : hak yang dimiki oleh orang yang memiliki file tersebut.

Group : group user yang memiliki file tersebut.

Other : seseorang yang bukan pemilik file tersebut dan tidak termasuk atau berada dalam kelompok yang sama.

Permission File

Ada tiga jenis izin akses di linux : Read, Write dan Execute.

Read. pada file biasa, read berarti file dapat dibuka dan dibaca. Pada sebuah direktori,read berarti anda dapat melihat daftar isi direktori.

Write. Pada file biasa, ini berarti anda dapat memodifikasi file, alias menulis data baru ke file. Pada sebuah direktori, write berarti anda dapat menambah, menghapus dan mengubah nama file dalam direktori

Execute. Pada file biasa, ini berarti anda dapat menjalankan file sebagai program atau shell script. Pada sebuah direktori, execute memungkinkan anda untuk mengakses file dalam direktori dan memasukkannya dengan perintah cd misalnya.

 

Hak Akses di Linux

kita bisa melihat hak akses dari file dengan mengetikkan perintah di terminal # ls –l

 

Hasilnya maka akan seperti ini:

Kolom pertama : merupakan jenis file dan perizinan yang mengikat file tersebut (perzinan meliputi perizinan User, Grup dan Others). Terdiri dari 10 karakter. Karakter pertama dari kolom pertama ini menunjukkan:

 

d= directory

 

-= regular file

 

l= Symbolic Link

 

s= Unix Domain Socket

 

p= named pipe

 

c= character device file

 

b= block devi Kolom kedua : menunjukkan jumlah Link (entri direktori yang merujuk ke file tersebut)

 

Kolom ketiga : menunjukkan pemilik file

 

Kolom keempat : menunjukan Grup pemilik file

 

Kolom kelima : menunjukkan ukuran file dalam byte

 

Kolom keenam, ketujuh dan kedelapan: menunjukan bulan dan tanggal terakhir di akses atau di modifikasi

 

Kolom kesembilan : menunjukkan nama filece file

Cara mengatur Hak Akses

Anda dapat mengatur hak akses dengan menggunakan perintah chmod. Ada dua cara, yaitu dengan metode numerik dan simbolik

Metode Simbolik

Which user?

u user/owner

g group

o other

a all

What to do?

+ add this permission

– remove this permission

= permission

Which permissions?

r read

w write

x execute

 

Metode Numerik

Dalam mode numerik, hak akses file tidak diwakili oleh karakter. Sebaliknya, mereka diwakili oleh tiga digit nomor oktal.

4 = read (r)

2 = write (w)

1 = execute (x)

0 = tidak ada izin (-)

Untuk mendapatkan bit permission yang Anda inginkan, Anda menjumlahkan angka yang sesuai dengan hak aksesnya. Misalnya, izin rwx adalah 4 +2 +1 = 7, rx adalah 4 +1 = 5, dan rw adalah 4 +2 = 6. Karena Anda mengatur hak akses terpisah untuk pemilik, grup, dan lain-lain, Anda akan memerlukan nomor tiga digit yang mewakili hak akses dari semua kelompok-kelompok ini.

Kita lihat contoh di bawah ini :

$ chmod 755 contohfile

Perintah diatas akan mengubah hak akses contohfile menjadi -rwxr-xr-x. Pemilik akan memiliki hak akses penuh, read, write, dan execute (7 = 4 +2 +1), grup dan yang lain akan memiliki hak akses read dan execute (5 = 4 +1).

 

 

 

 

Manajemen File dan Direktori

Pada kesempatan kali ini, kita akan membahas tentang Manajemen file dan direktori, tentunya masih dengan sistem operasi yang sama dengan sebelumnya, Linux.

Pertama, untuk menampilkan direktori kerja kita, ketik pwd pada terminal.

Lalu untuk melihat daftar direktori dan fil tinggal ketik ls. Jika ingin menampilkan daftar direktori dengan format panjang beserta file-file tersembunyi, tinggal tambahkan –al, sehingga yg kita ketikan adalah ls –al. Namun jika tidak ingin terlalu banyak yang ditampilkan, dengan menggunakan perintah ls –l, kita bisa melihat daftar direktori beserta keterangannya. Kolom pertama, menunjukkan jenis file dan perizinan. Kolom kedua menunjukkan jumlah link (entri direktori yang merujuk ke file), yang ketiga menunjukkan pemilik file, dan yang keempat menunjukkan kelompok pemilik file. Kolom lain menunjukkan ukuran file dalam byte, tanggal dan waktu modifikasi terakhir, dan nama file.

karakter yang menyatakan perizinan, dibagi menjadi 3 grup, tiap grup 3 karakter mewakili: read, write, dan execute. Karakter tersebut mudah untuk diingat, diantaranya :

r= read

w=write

x=execute

=nopermission

Manipulasi File

cp

Digunakan untuk menyalin satu atau banyak file atau direktori.

mv

Digunakan untuk memindahkan atau memberi nama baru pada satu atau banyak file atau direktori.

rm

Digunakan untuk menghapus satu atau banyak file atau direktori.

Ada beberapa pilihan yang berguna untuk perintah cp dan mv:

-f atau –force

Memungkinkan cp untuk mencoba menghapus file yang sudah ada walaupun file tidak dapat ditulis.

-i atau –interactive

Akan meminta konfirmasi sebelum mencoba untuk mengganti file yang ada.

-b atau –backup

Akan membuat cadangan dari file yang akan diganti

Contoh-contoh:
$ cp text1 text2 tugas/ menyalin file text1 dan text2 ke direktori tugas
$ mv text1 tugas/ memindahkan file text1 ke direktori tugas
$ mv tugas/text1 tugas/text1.new memberi nama baru
$ mkdir fol1 fol2 membuat banyak direktori
$ mkdir –p f1/f2/f3 membuat direktori bersarang
$ rmdir –p f1/f2 menghapus direktori kosong
$ rm –r f1 (atau –R atau –recursive) menghapus file atau direktori beserta isi secara paksa
$ find . –name “text” mencari file atau direktori berdasarkan nama
$ find .-type f mencari file berdasarkan tipe, f merupakan kode tipe file biasa *lebih detail
$ find .-atime 5 mencari file atau direktori berdasarkan waktu akses terakhir
$ find .-mtime -10 mencari file atau direktori berdasarkan waktu modifikasi terakhir
$ find .-ctime +5 mencari file atau direktori berdasarkan perubahan terakhir pada status berkas (karena diciptakan atau diubah)

 

Membuat dan menghapus direktori

Membuat banyak direktori

$ mkdir dir1 dir2

Jika ingin membuat subdirektori bersarang, maka tinggal tambahkan -p setelah perintah mkdir

$ mkdir -p d1/d2/d3

Jika pilihan -p tidak ditambahkan, maka akan terjadi error

mkdir: cannot create directory `d1/d2/d3′: No such file or directory

Menghapus direktori

$ cp text1 d1/d2

$ rmdir -p d1/d2/d3 dir1 dir2

-p = parent (sama dengan yang digunakan di mkdir) pasti akan muncul error

rmdir: failed to remove directory `d1/d2′: Directory not empty

karena rmdir hanya akan menghapus direktori yang kosong, jadi hapus dulu file text1 di d1/d2

$ rm d1/d2 text1

$ rmdir -p d1/d2

Menghapus file atau direktori secara rekursif

Jika terdapat banyak file atau direktori yang ingin kita hapus, kita bisa menggunakan perintah rm dengan tambahan -r (atau -R atau –recursive)

$ rm -r d1

Membuat file kosong

Kita dapat membuat file kosong dengan perintah touch, bisa dengan tambahan ekstensi atau tidak

$ touch file1 file2 file3

Menggunakan perintah find

Perintah find digunakan untuk mencari file atau direktori, bisa dicari berdasarkan nama, tipe, atau waktu

$ find . -name “text”

Perintah diatas digunakan untuk mencari file di current directory dengan nama text

BELAJAR LINUX

Assalamualaikum..

Linux. Apa yang ada di benak anda ketika mendengar kata tersebut? Ya, Linux adalah Sistem Operasi Open Source yang banyak digunakan orang karena kemudahan aksesnya untuk dikembangan. Lalu, kenapa dalam mata kuliah Sistem Operasi, yang akan kita bahas adalah Linux bukan Windows seperti yang kita gunakan pada umumnya? Karena Linux memudahkan kita untuk dapat mengakses sistem, lain halnya dengan Windows.

Baiklah, mari kita mulai dengan perintah-perintah manual dengan menggunakan Terminal. Ada beberapa operasi yang tidak bisa dijalankan dengan cara manual, sehingga penting bagi kita untuk belajar lewat “jalan belakang”. Berikut kode-kode dalam operasinya:

  • Membuat folder -> mkdir(spasi)nama folder baru

Di sini kita akan membuat folder dengan nama folder IniFolderBaru

Tanda $ menandakan Anda sedang berada di direktori Home

Screenshot from 2015-03-10 14:12:13

  • Kemudian untuk melihat apa saja yang ada di direktori yang sedang aktif, tinggal ketik ls lalu enter. Perintah lainnya yang lebih detail misalnya saja:

Screenshot from 2015-03-10 14:13:35ls -l: memperlihatkan daftar file disertai dengan atribut seperti pemilik, permission, ukuran, dan tanggal modifikasi .Screenshot from 2015-03-10 14:15:29

ls -a: memperlihatkan daftar file dan file tersembunyi di dalam direktori sekarang tanpa atribut apapun .

Screenshot from 2015-03-10 14:16:20

ls -al: menggabungkan opsi perintah -l dan -a untuk ls .

Screenshot from 2015-03-10 14:16:44

 

  • Sekarang kita sedang berada di direktori Home, lalu bagaimana caranya agar dapat masuk ke direktori lain? Misalnya saya ingin masuk ke dalam folder IniFolderBaru, caranya dengan ketik cd IniFolderBaru. Untuk kembali lagi ke home, ketik cd~.Screenshot from 2015-03-10 14:19:04
  • clear = cls = membersihkan tampilan di layar monitor
  • cp = copy = menyalin file
  • mv = ren, move = mengubah nama file, dan bisa juga untuk memindahkan file ke direktori tertentu
  • rmdir = rd = menghapus direktori kosong
  • cat = type = melihat isi file
  • rm = del = menghapus file atau direktori
  • pwd = cd = melihat direktori aktif saat ini
  • Screenshot from 2015-03-10 14:19:39more = more = melihat tampilan per halaman

    Screenshot from 2015-03-10 14:25:24

  • grep = <<tidak ada>> = menyaring tampilan atau file berdasarkan kata tertentu
  • free = mem = melihat informasi memory
  • Untuk menampilkan proses yang sedang berjalan, dengan perintah ps juga sudah cukup. Namun apabila ingin menampilkan juga proses secara detail maka parameter aux ditambahkan. Penggunaan perintah ini cukup dengan mengetikan ps aux pada jendela terminal.

Screenshot from 2015-03-10 14:26:33Ok, mungkin untuk permulaan saya cukupkan sekian. Untuk mengetahui tentang Linux lainnya, Anda bisa kunjungi website dengan bahasan yang berbeda. Selamat belajar!

Rekayasa Perangkat Lunak dan Model Prosesnya

Kali ini saya akan membahas tentang rekayasa perangkat lunak. Untuk mahasiswa yang mengambil jurusan informatika atau yang berhubungan dengan komputerisasi pasti pernah atau bahkan sedang melaksanakan mata kuliah ini. Tidak berlama-lama lagi, mari kita mulai bahasan ini dengan definisinya terlebih dahulu.

Dalam bukunya Rekayasa Perangkat Lunak, Al- Bahra Bin Ladjamudin (2006 : 91) menyatakan definisi tentang kualitas perangkat lunak sebagai: “konformansi terhadap kebutuhan fungsional dan kinerja yang dinyatakan secara eksplisit, standar pengembangan yang didokumentasikan secara eksplisit, dan karakteristik implisit yang diharapkan bagi semua perangkat lunak yang dikembangkan secara professional”.

Rekayasa Perangkat Lunak merupakan sebuah konsep yang luas dan bisa dikatakan intisari dari seluruh materi Teknik Informatika. Ia bukanlah merupakan suatu bidang pekerjaan. Yang akan menjadi bidang pekerjaan adalah materi2 dalam RPL itu yaitu Analisis – Desain – Implementasi – Testing – Maintenance. Dari sub konsep itulah lahir jenis2 profesi seperti Business Analyst, System Analyst, Designer, Programmer, Software Developer, Software Tester, IT Consultant, Network Engineer, Data Analyst,dan ada beberapa lagi yang lain.

Selanjutnya, yang dimaksud dengan metode-metode rekayasa perangkat lunak adalah,  memberikan teknik untuk membangun perangkat lunak. Berkaitan dengan serangkaian tugas yang luas yang menyangkut analisis kebutuhan, konstruksi program, desain, pengujian, dan pemeliharaan (Rogers S. Pressman:2002).

Berikut Metode-Metode Pengembangan Perangkat Lunak (Model Proses Pengembangan Perangkat Lunak) yaitu metode sekuensial linier, prototype, RAD, Fourth Generation Techniques (4GT) dan spiral   (dalam Jaidan Jauhari.Pdf). Selain metode-metode tersebut Roger S. Pressman (2002:45), mengungkapkan dua metode lagi yaitu  metode Proses Perangkat Lunak Evolusioner (pertambahan, spiral, konkruen), dan metode formal. Berikut Metode-metode tersebut :

  1. Model Sekuensial Linier

Sering juga disebut dengan “siklus kehidupan klasik” atau “model air terjun.” Penggambaran model ini :

Metode pengembangan perangkat lunak dengan pendekatan pada perkembangan perangkat lunak yang sistematik dan sekuensial yang mulai pada tingkat dan kemajuan system pada seluruh analisis, desain, kode, pengujian, dan pemeliharaan. Model ini melingkupi aktivitas-aktivitas :

  1. Rekayasa dan pemodelan system/informasi

Karena perangkat lunak adalah bagian dari sistem yang lebih besar, pekerjaan dimulai dari pembentukan kebutuhan-kebutuhan untuk seluruh elemen sistem dan kemudian memilah mana yang untuk pengembangan perangkat lunak. Hal ini penting, ketika perangkat lunak harus berkomunikasi dengan hardware, orang dan basis data

  1. Analisis kebutuhan perangkat lunak

Pengumpulan kebutuhan dengan fokus pada perangkat lunak, yang meliputi : Domain informasi, fungsi yang dibutuhkan, unjuk kerja/performansi dan antarmuka. Hasilnya harus didokumentasi dan direview ke pelanggan

  1. Desain

Ada 4 atribut untuk program yaitu : Struktur Data, Arsitektur perangkat lunak, Prosedur detil dan Karakteristik Antarmuka. Proses desain mengubah kebutuhan-kebutuhan menjadi bentuk karakteristik yang dimengerti perangkat lunak sebelum dimulai penulisan program. Desain ini harus terdokumentasi dengan baik dan menjadi bagian konfigurasi perangkat lunak.

  1. Generasi kode

Penterjemahan perancangan ke bentuk yang dapat dimengerti oleh mesin, dengan menggunakan bahasa pemrograman

  1. Pengujian

Setelah kode program selesai testing dapat dilakukan. Testing memfokuskan pada logika internal dari perangkat lunak, fungsi eksternal dan mencari segala kemungkinan kesalahan dan memriksa apakah sesuai dengan hasil yang diinginkan.

  1. Pemeliharaan

Merupakan bagian paling akhir dari siklus pengembangan dan dilakukan setelah perangkat lunak dipergunakan. Pemeliharaan perangkat lunak mengaplikasikan lagi Setiap fase program sebelumnya dan tidak membuat yang baru. Kegiatan :

  • Corrective Maintenance : Mengoreksi kesalahan pada perangkat lunak, yang baru terdeteksi pada saat perangkat lunak dipergunakan.
  • Adaptive Maintenance : Penyesuaian dengan lingkungan baru, misalnya sistem operasi atau sebagai tuntutan atas perkembangan sistem komputer, misalnya penambahan printer driver
  • Perfektive Maintenance : Bila perangkat lunak sukses dipergunakan oleh pemakai. Pemeliharaan ditujukan untuk menambah kemampuannya seperti memberikan fungsi-fungsi tambahan, peningkatan kinerja dan sebagainya

Model sekuensial adalah paradigm rekayasa perangkat lunak yang paling luas dipakai dan paling tua. Kelemahan model ini antara lain :

  • Proyek yang sebenarnya jarang mengikuti alur sekuensial seperti diusulkan, sehingga perubahan yang terjadi dapat menyebabkan hasil yang sudah didapat tim harus diubah kembali/iterasi sering menyebabkan masalah baru.
  • Linear sequential model mengharuskan semua kebutuhan pemakai sudah dinyatakan secara eksplisit di awal proses, tetapi kadang-kadang ini tidak dapat terlaksana karena kesulitan yang dialami pemakai saat akan mengungkapkan semua kebutuhannya tersebut.
  • Pemakai harus bersabar karena versi dari program tidak akan didapat sampai akhir rentang waktu proyek.
  • Adanya waktu menganggur bagi pengembang, karena harus menunggu anggota tim proyek lainnya menuntaskan pekerjaannya.

 

  1. Model Prototype

 

Model ini dimulai dengan pengumpulan kebutuhan. Pendekatan prototyping model digunakan jika pemakai hanya mendefenisikan objektif umum dari perangkat lunak tanpa merinci kebutuhan input, pemrosesan dan outputnya, sementara pengembang tidak begitu yakin akan efisiensi algoritma, adaptasi sistem operasi, atau bentuk antarmuka manusia-mesin yang harus diambil. Cakupan aktivitas dari prototyping model terdiri dari :

  1. Mendefinisikan objektif secara keseluruhan dan mengidentifikasi kebutuhan yang sudah diketahui.
  2. Melakukan perancangan secara cepat sebagai dasar untuk membuat prototype.
  3. Menguji coba dan mengevaluasi prototype dan kemudian melakukan penambahan dan perbaikan-perbaikan terhadap prototype yang sudah dibuat.

secara ideal prototype berfungsi sebagai sebuah mekanisme untuk mengidentifikasi kebutuhan perangkat lunak. Bila prototype yang sedang bekerja dibangun, pengembang harus menggunakan fragmen-fragmen program yang ada atau mengaplikasikan alat-alat bantu (contoh: window manager, dsb) yang memungkinkan program yang bekerja agar dimunculkan secara cepat.

Kelemahan prototyping model :

  1. Pelanggan yang melihat working version dari model yang dimintanya tidak menyadari, bahwa mungkin saja prototype dibuat terburu-buru dan rancangan tidak tersusun dengan baik
  2. Pengembang kadang-kadang membuat implementasi sembarang, karena ingin working version bekerja dengan cepat.

 

  1. Model RAD (Rapid Application Development)

Merupakan model proses pengembangan perangkat lunak secara linear sequential yang menekankan pada siklus pengembangan yang sangat singkat/pendek. Jika kebutuhan dipahami dengan baik, proses RAD memungkinkan tim pengembangan menciptakan “sistem fungsional yang utuh” dalam periode waktu yang sangat pendek (kira-kira 60-90 hari). Pendekatan RAD model menekankan cakupan :

  1. Pemodelan bisnis (Bussiness Modelling)

Aliran informasi diantara fungsi-fungsi bisnis dimodelkan dengan suatu cara untuk menjawab pertanyaan-pertanyaan berikut : Informasi apa yang mengendalikan proses bisnis ? Kemana informasi itu pergi? Siapa yang memprosesnya ?

  1. Pemodelan data (Data Modelling)

Aliran informasi yang didefinisikan sebagai bagian dari fase pemodelan bisnis disaring ke dalam serangkaian objek data yang dibutuhkan untuk menopang bisnis tersebut. Karakteristik/atribut dari masing-masing objek diidentifikasi dan hubungan antara objek-objek tersebut didefinisikan.

  1. Pemodelan proses (Process Modelling)

Aliran informasi yang didefinisikan dalam fase pemodelan data 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.

  1. Pembuatan aplikasi (Application generation)

Selain menciftakan perangkat lunak dengan menggunakan bahasa pemrograman generasi ketiga yang konvensional, RAD lebih banyak memproses kerja untuk memakai lagi komponen program yang telah ada atau menciftakan komponen yang bias dipakai lagi. Pada semua kasus, alat-alat Bantu otomatis dipakai untuk memfasilitasi kontruksi perangkat lunak.

  1. Pengujian dan pergantian (Testing and turnover)

Karena proses RAD menekankan pada pemakaian kembali, banyak komponen yang telah diuji. Hal ini mengurangi keseluruhan waktu pengujian. Tapi komponen baru harus diuji.

 

Kelemahan model  RAD :

  1. Untuk proyek dengan skala besar, RAD membutuhkan sumber daya manusia yang cukup untuk membentuk sejumlah tim RAD yang baik.
  2. RAD membutuhkan pengembang dan pemakai yang mempunyai komitmen dalam aktivitas rapid-fire untuk melaksanakan aktivitas melengkapi sistem dalam kerangka waktu yang singkat. Jika komitmen tersebut tidak ada, proyek RAD gagal.

Tidak semua aplikasi sesuai untuk RAD.bila system tidak dapat dimodulkan dengan teratur, pembangunan komponen penting pada RAD akan menjadi sangat problematic. RAD menjadi tidak sesuai jika risiko teknisnya tinggi.

 

  1. Model Proses Perangkat Lunak Evolusioner

Model evolusioner adalah model iterative, ditandai dengan tingkah laku yang memungkinkan perekayasa perangkat lunak mengembangkan versi perangkat lunak yang lebih lengkap sedikit demi sedikit. Kebutuhan produk dan bisnis kadang-kadang berubah seiring dengan laju perkembanganya. Dalam situasi tersebut maupun lainya, perekayasa perangkat lunak membutuhkan sebuah model proses yang sudah dirancang secara eksplisit untuk mengakomodasi produk perkembangan sepanjang waktu. Model ini bukan termasuk rekayasa perangkat lunak klasik. Model evolusioner meliputi :

  1. Model pertambahan

Model incremental menggabungkan elemen-elemen model sekuensial linier (diaplikasikan secara berulang) dengan filosofi prototype iterative. Model ini memakai urutan-urutan linier di dalam model yang membingungkan, seiring dengan laju waktu kalender. Setiap urutan linier menghasilkan pertambahan, perangkat lunak “yang bisa disampaikan.” Contoh, perangkat lunak pengolah kata yang dikembangkan dengan menggunakan paradigm pertambahan akan menyampaikan manajemen file, editing, serta fungsi penghasilan dokumen pada pertambahan pertama, dan selanjutnya. Pertambahan pertama dapat disebut sebagai produk inti (core product).

Model ini berfokus pada penyampaian produk operasional dalam Setiap pertambahanya. Pertambahan awal ada di versi stripped down dari produk akhir, tetapi memberikan kemampuan untuk melayani pemakai dan juga menyediakan platform untuk evaluasi oleh pemakai.

 

Perkembangan pertambahan, khususnya berguna pada staffing, tidak bisa dilakukan menggunakan implementasi lengkap oleh batas waktu bisnisyang sudah disepakati untuk proyek tersebut. jika produk inti diterima dengan baik, maka staf tambahan bisa ditambahkan untuk mengimplementasi pertambahan selanjutnya.

  1. Model spiral

Awalnya diusulkan oleh Boehm (BOE88), adalah model proses perangkat lunak yang evolusioner, merangkai sifat iterative dari prototype dengan cara control dan aspek sistematis dari model sekuensial linier. Model yang berpotensi untuk pengembangan versi pertambahan perangkat lunak secara cepat. Model spiral dibagi menjadi sejumlah aktifitas kerangka kerja atau wilayah tugas, antara lain :

  • Komunikasi pelanggan, tugas-tugas yang dibutuhkan untuk membangun komunikasi yang efektif diantara pengembang dan pelanggan.
  • Perencanaan, tugas-tugas yang dibutuhkan untuk mendefinisikan sumber-sumber daya, ketepatan waktu, dan proyek informasi lain yang berhubungan.
  • Analisis resiko, tugas-tugas yang dibutuhkan untuk menaksir resiko-resiko, baik manajemen maupun teknis.
  • Perekayasaan, tugas-tugas yang dibutuhkan untuk membangun satu atau lebih representasi dari aplikasi tersebut.
  • Konstruksi dan peluncuran, tugas-tugas yang dibutuhkan untuk mengkonstruksi, menguji, memasang (instal), dan memberikan pelayanan kepada pemakai (contohnya pelatihan dan dokumentasi)
  • Evaluasi pelanggan, tugas-tugas untuk memperoleh umpan balik dari pelanggan dengan didasarkan pada evaluasi representasi perangkat lunak, yang dibuat selama masa perekayasaan, dan dimplementasikan selama masa pemasangan.

 

 

Model spiral menjadi pendekatan yang realistis bagi perkembangan system dan perangkat lunak skala besar. Karena perangkat lunak terus bekerja  selama proses bergerak, pengembang dan pemakai memahami, dan bereaksi lebih baik terhadap resiko dari Setiap tingkat evolusi. Model spiral menggunakan prototype sebagai mekanisme pengurangan resiko.

Model spiral membutuhkan keahlian penafsiran resiko yang masuk akal, dan sangat bertumpu pada keahlian ini untuk mencapai keberhasilan. Jika sebuah resiko tidak dapat ditemukan dan diatur, pasti akan terjadi masalah. Model ini membutuhkan waktu bertahun-tahun sampai kehandalannya bisa dipertimbangkan dengan kepastian absolute.

  1. Model rakitan komponen

Model ini menggabungkan beberapa karakteristik model spiral. Bersifat evolusioner, sehingga membutuhkan pendekatan iterative untuk menciptakan perangkat lunak. Tetapi model ini merangkai aplikasi dari komponen perangkat lunak sebelum dipaketkan (kadang disebut kelas).

Aktivitas perangkat lunak dimulai dengan  identifikasi calon kelas. Dipenuhi dengan mengamati data yang akan dimanipulasi oleh aplikasi dan algoritma-algoritma yang akan diaplikasikan. Data dan algoritma yang berhubungan dikemas ke dalam kelas. Kelas-kelas tersebut disimpan dalam class library (tempat penyimpanan).

Model ini membawa pada penggunaan kembali perangkat lunak, dan kegunaan kembali itu memberi sejumlah keuntungan yang bisa diukur pada rekayasa perangkat lunak.

  1. Model perkembangan konkruen

Representasi aktivitas dalam model ini, meliputi aktivitas analisis, bisa berada dalam salah satu dari keadaan-keadaan yang dicatat pada saat tertentu. Dengan cara yang sama, aktivitas yang lain (desain atau komunikasi pelanggan) dapat direpresentasikan dalam sebuah sikap yang analog. Semua aktifitas ada secara konkruen tetapi dia tinggal didalam keadaan yang berbeda. Model ini sering digunakan sebagai paradigm bagi pengembangan aplikasi klien/server.

Kenyataanya model proses konkruen bisa diaplikasikan ke dalam semua tipe perkembangan perangkat lunak, dan memberikan gambaran akurat mengenai keadaan tertentu dari sebuah proyek. Selain membatasi ajtivitas perekayasa ke dalam sederetan kejadian, model proses juga mendefinisikan jaringan aktivitas.

 

  1. Model Formal

Model metode formal mencangkup sekumpulan aktivitas yang membawa kepada spesifikasi matematis perangkat lunak computer. Metode ini memungkinkan perekayasa perangkat lunak untuk mengkhususkan, mengembangkan, dan memverifikasi system berbasis computer dengan menggunakan notasi matematis yang tepat.variasi dalam pendekatan ini, disebut clean-room rekayasa perangkat lunak, sedang diaplikasikan oleh banyak organisasi pengembang perangkat lunak.

Bila metode formal dipakai selama masa pengembangan, maka akan memberikan mekanisme untuk mengeliminasi banyak masalah yang sulit dipecahkan menggunakan paradigm perangkat lunak yang lain. Ambiguitas, ketidaklengkapan, dan ketidak-konsitenan bisa ditemukan dan diperbaiki secara mudah, tidak melalui kajian ad hoc tetapi melalui aplikasi analisis matematis. Jika metode ini dipakai selama proses perancangan, maka berfungsi sebagai dasar bagi verifikasi program sehingga memungkinkan perekayasa  untuk menemukan dan memperbaiki kesalahan yang mungkin saja tidak terdeteksi.

Metode formal akan banyak memperoleh penganut diantara pengembang perangkat lunak yang harus membangun perangkat lunak yang kritis untuk keselamatan (missal : pengembangan perangkat medis, dan penerbangan pesawat), serta diantara yang harus menderita karena faktor ekonomis yang harus dialami oleh perangkat lunak.

 

  1. Fourth Generation Techniques (4GT)

Istilah generasi ke empat, mengarah ke perangkat lunak yang umum yaitu tiap pengembang perangkat lunak menentukan beberapa karakteristik perangkat lunak pada level tinggi.  Saat ini pengembangan perangkat lunak yang mendukung 4GT, berisi tool-tool berikut : i) Bahasa non prosedural untuk query basis data; ii)  Report generation; iii) Data manipulation ; iv) Interaksi layar ; v) Kemampuan grafik level tinggi ; vi) Kemampuan spreadsheet . Tiap tool ini ada tapi hanya untuk sauatu aplikasi khusus.

Menggunakan perangkat bantu (tools) yang akan membuat kode sumber secara otomatis berdasarkan spesifikasi dari pengembang perangkat lunak. Hanya digunakan untuk menggunakan perangkat lunak yang menggunakan bahasa khusus atau notasi grafik yang diselesaikan dengan syarat yang dimengerti pemakai. Cakupan aktivitas 4GT :

  1. Pengumpulan kebutuhan, idealnya pelanggan akan menjelaskan kebutuhan yang akan ditranslasikan ke prototype operasional.
  2. Translasi kebutuhan menjadi prototype operasional, atau langsung melakukan implementasi secara langsung dengan menggunakan bahasa generasi keempat (4GL) jika aplikasi relatif kecil.
  3. Untuk aplikasi yang cukup besar, dibutuhkan strategi perancangan sistem walaupun 4GL akan digunakan.
  4. Pengujian.
  5. Membuat dokumentasi.
  6. Melaksanakan seluruh aktivitas untuk mengintegrasikan solusi-solusi yang membutuhkan paradigma rekayasa perangkat lunak lainnya.

 

Salah satu keuntungan penggunaan model 4GT adalah pengurangan waktu dan peningkatan produktivitas secara besar, sementara kekurangannya terletak pada kesulitan penggunaan perangkat bantu (tools) dibandingkan dengan bahsa pemrograman, dan juga kode sumber yang dihasilkannya tidak efisien.

Untuk aplikasi yang yang kecil, adalah mungkin untuk langsung berpindah dari pengumpulan kebutuhan ke implementasi dengan menggunakan 4GL. Tapi untuk aplikasi yang besar, dibutuhkan pengembangan strategi desain untuk sistem, walau digunakan 4GL. Penggunaan 4GT tanpa perencanaan yang matang (untuk proyek skala besar) akan meyebabkan kesulitan yang sama (kualitas dan pemeliharaan yang jelek, ketidakpuasan pelanggan) seperti dengan metode konvensional.

 

 

Daftar Pustaka:

Pressman, Roger S. 2002.”Rekayasa Perangkat Lunak (Pendekatan Praktis).” Yogyakarta : Andi.