12 November 2015

STUDI KASUS TERSTRUKTUR


Sistem Perpustakaan SMK TIKOM IBNU SIENA


Pendahuluan      

Dengan bekal pemahaman sebelumnya, kita akan membangun sebuah perangkat lunak yaitu Sistem Perpustakaan SMK TIKOM IBNU SIENA. Perangkat lunak ini berjalan di sebuah stand alone komputer. Metode pengembangan menggunakan Metode analisis dan perancangan Terstruktur dengan Model Waterfall. 

5 November 2015

Analisa dan Perancangan Dengan Pendekatan Terstruktur

A. Pendahuluan
Analisis dan Perancangan perangkat lunak dengan pendekatan terstruktur atau dikenal dengan pendekatan berorientasi data (Data Oriented Approach) adalah pendekatan konvensional yang menitik beratkan permasalahan pada aliran Data, yaitu: Arus Data (Data Flow) dan Struktur Data (Data Structure).
Pendekatan ini sangat dominan untuk digunakan dimasa-masa awal perkembangan rekayasa perangkat lunak. Untuk merancang PL skala kecil dan menengah, perancangan menggunakan pendekatan terstruktur masih layak digunakan, karena lingkup permasalahan masih bisa ditangani dengan melihat kebutuhan data yang akan digunakan. Tapi, jika lingkup permasalahannya cukup besar, misalnya untuk perancangan PL yang besar maka akan mengalami kesulitan dalam menentukan prioritas pengembangan baik pada saat analisis maupun perancangan, yaitu tahapan sebelum tahapan implementasi dan pengujian dilakukan.

2 November 2015

Model Proses Rekayasa Perangkat Lunak

1.   Linear Sequential Model

Model proses ini sering disebut sebagai Waterfall atau Classic Life Cycle Model. Metode Linear Sequential Model menyarankan pendekatan yang sistematis dan sekuensial dalam pengembangan perangkat lunak yang dimulai pada level sistem dan bergerak maju mulai tahap analisis, desain, coding, testing, dan support.





The Linear Sequential Model



Model Linear Sequential mencakup aktivitas-aktivitas berikut:


1.      Rekayasa dan pemodelan sistem/informasi (System/information engineering). Dikarenakan perangkat lunak selalu merupakan bagian dari sistem atau bisnis yang lebih besar, kegiatan proses perangkat lunak dimulai dengan melakukan indentifikasi kebutuhan (requirements) dari seluruh elemen sistem lalu memetakan bagian dari kebutuhan tersebuat sebagai kebutuhan perangkat lunak.

Pandangan secara sistem ini sangat dibutuhkan ketika perangkat lunak harus berinterakasi dengan elemen-elemen yang lain seperti perangkat keras, manusia, dan basisdata. Identifikasi dan pengumpulan kebutuhan dilakukan dalam level strategi bisnis dan level manajerial.

Proses Rekayasa Perangkat Lunak

  1. Pengertian Rekayasa Perangkat Lunak
Ketika kita membangun produk atau sistem, kita membutuhkan rangkaian langkah yang dapat diprediksi sehingga dapat menuntun gerak kita. Kita membutuhkan pedoman sehingga kita dapat menciptakan hasil yang berkualitas dan tepat waktu. Pedoman inilah yang kita sebut sebagai proses perangkat lunak (software process).
Manajer dan pengembang perangkat lunak mengadaptasi proses dan menerapkannya dengan melibatkan customer dalam pengembangan perangkat lunak yang dipesannya.
Proses perangkat lunak ini penting, karena proses ini memberikan kestabilan, kontrol, dan pengorganisasian aktivitas pengembangan perangkat lunak. Proses ini menghasilkan integrasi program, data, dan dokumen.
IEEE Computer Society mendefinisikan rekayasa perangkat lunak (software engineering) sebagai:
1.      Suatu aplikasi dari pendekatan yang sistematis, disiplin, dan terukur terhadap pengembangan, pengoperasian, dan perawatan perangkat lunak. Atau dengan kata lain, rekayasa perangkat lunak adalah aplikasi rekayasa (engineering) terhadap perangkat lunak.
2.     Kajian terhadap pendekatan yang sistematis, disiplin, dan terukur terhadap pengembangan, pengoperasian, dan perawatan perangkat lunak.

Kualitas Perangkat Lunak



Ini lanjutan dari bahasan sebelumnya mengenai rekayasa perangkat lunak...

B. Kualitas Perangkat Lunak
Kapankah kita dapat menyatakan bahwa sebuah perangkat lunak berkualitas ? 
Apa saja yang dijadikan sebagai parameter kulitas perangkat lunak ?

Perangkat lunak dapat dikatakan sebagai perangkat lunak yang berkualitas apabila :
1.      Perangkat lunak tersebut memenuhi keinginan pemesan atau pihak yang menggunakannya (user).
Keinginan user tersebut meliputi beberapa aspek, antara lain fitur dan antarmuka.
2.     Perangkat lunak tersebut  berfungsi dan dapat diimplementasikan dalam jangka waktu yang relatif lama.
3.     Mudah dimodifikasi untuk memenuhi kebutuhan yang berkembang.
4.     Mudah digunakan.
5.     Dapat mengubah atau membangun sesuatu dengan lebih baik. Sebagai contoh, bila perangkat lunak dikembangkan untuk menggantikan suatu proses atau fungsi manual, maka perangkat lunak tersebut harus dapat memberikan nilai tambah terhadap proses atau fungsi yang terdahulu.
Nilai tambah yang diberikan antara lain kecepatan pemrosesan, kemudahan proses, dan kehandalan data (jaminan bahwa data yang diolah, proses yang dilakukan, dan informasi yang dihasilkan adalah benar).

Dan dengan pertanyaan sebelumnya, kita dapat mengajukan pertanyaan “Kapan perangkat lunak dikatakan gagal atau tidak berkualitas ?”.

Rekayasa Perangkat Lunak

Sebelum dimulai, perlu diingatkan kembali mengenai Rekaya Perangkat Lunak. Rekayasa Perangkat Lunak adalah  Suatu disiplin ilmu yang membahas semua aspek produksi perangkat lunak, mulai dari tahap awal requirement capturing (analisa kebutuhan pengguna), specification (menentukan spesifikasi dari kebutuhan pengguna), desain, coding, testing sampai pemeliharaan sistem setelah digunakan. Pada mata kuliah sebelumnya barangkali Anda memahami rekayasa perangkat lunak menggunakan pendekatan terstruktur (Data Oriented Approach). Sedangkan pada bahasan-bahasan berikutnya kita akan membahas rekayasa perangkat lunak menggunakan pendekatan objek (Object Oriented Approach).

A.   Perangkat Lunak Sebagai Suatu Produk
Perangkat lunak komputer (PL),  telah diakui merupakan salah satu penggerak kegiatan industri, bisnis, dan berbagai sektor kehidupan. Perangkat lunak merupakan mesin yang membantu kehidupan manusia dalam pengambilan keputusan. Perangkat lunak menjadi basis pengembangan keilmuan modern dan proses pemecahan masalah.
Perkembangan perangkat lunak yang sangat pesat ini telah mempengaruhi pemikiran masyarakat. Masyarakat sadar dan melihat perangkat lunak sebagai fakta teknologi yang bermanfaat bagi kehidupan. Manusia mempertaruhkan pekerjaan mereka, kenyamanan, hiburan, keputusan, dan berbagai kepentingan kehidupan mereka kepada perangkat lunak.
Saat ini, perangkat lunak memainkan dua peran. Perangkat lunak merupakan sebuah produk dan pada saat yang bersamaan, PL merupakan sarana atau alat untuk menghasilkan produk. Produk, dapat kita interpretasikan sebagai segala sesuatu yang dapat dihasilkan oleh PL, contohnya layanan.
Sebagai sebuah produk, PL memberikan kemampuan komputasi pada sebuah sistem perangkat keras (komputer).  Perangkat lunak juga merupakan agen pengubah informasi (information transformer) – memproduksi, mengatur, mengakuisisi data, memodifikasi, menyampaikan, dan mengirimkan informasi.
Sebagai sebuah sarana untuk menghasilkan sebuah produk, PL berperan sebagai basis kontrol sistem komputer (sistem operasi), komunikasi informasi (networks), dan sebagai penciptaan serta kontrol program-program lain (software tools dan environments). 

1 November 2015

UML (Unified Modeling Language)



  • Pengenalan UML
UML (Unified Modeling Language) merupakan pengganti dari metode analisis berorientasi object dan design berorientasi object (OOA & OOD) yang dimunculkan sekitar akhir tahun 80-an dan awal tahun 90-an.

UML merupakan gabungan dari metode Grady Booch (Booch Method), James Rumbaugh (OMT) dan Ivar Jacobson (OOSE). Tetapi UML ini akan mencakup lebih luas daripada OOA&D. Pada pertengahan pengembangan UML dilakukan standarisasi proses dengan OMG (Object Management Group) dengan harapan UML akan menjadi bahasa standar pemodelan pada masa yang akan datang.

UML disebut sebagai bahasa pemodelan bukan metode. Kebanyakan metode terdiri paling sedikit prinsip, bahasa pemodelan dan proses. Bahasa pemodelan (sebagian besar grafik) merupakan notasi dari metode yang digunakan untuk mendesain secara cepat.

Bahasa pemodelan merupakan bagian terpenting dari metode. Ini merupakan bagian kunci tertentu untuk komunikasi. Jika anda ingin berdiskusi tentang desain dengan seseorang, maka Anda hanya membutuhkan bahasa pemodelan bukan proses yang digunakan untuk mendapatkan desain.

UML merupakan bahasa standar untuk penulisan Blueprint Software yang digunakan untuk Visualisasi (Visualize), Spesifikasi (Specify), Pembentukan (Construct) dan Pendokumentasian (Documentation) alat-alat dari sistem perangkat lunak.

30 Oktober 2015

29 Oktober 2015

Rekayasa Perangkat Lunak Berorientasi Objek

RPL rekayasa perangkat lunak adalah nyawanya informatika dimana permasalahan di dunia nyata yang sifatnya komplek yang akan di angkat / rekayasa kedalam perangkat lunak harus terlebih dahulu melewati proses-proses tertentu yaitu Analisis, Perancangan, dan akhirnya di Implementasikan. Materi RPL kebanyakan ada pada tahapan Analisis dan Perancangan.

Baca Selengkapnya!

Dalam Analisis dan Perancangan suatu RPL ini ada dua Mazhab yang mungkin saling bertentangan. Keduanya dapat dilihat berdasarkan sudut pandang yang dipakai, misalnya Analisa dan Perancangan untuk Sistem Informasi atau Analisa dan Perancangan Perangkat Lunak yang akan di-Implementasi-kan. Dalam RPL ini kita akan melihatnya dari sudut pandang yang ke dua.

Rekayasa perangkat lunak Orientasi Obyek adalah kelanjutan dari RPL dimana setelah tahapan Implementasi, perangkat lunak yang sudah jadi tidak ditinggal begitu saja tapi perlu tahapan-tahapan lain misalnya, Reengineering untuk perekayasaan ulang apabila sistem yang sudah jadi tersebut akan dikembangkan lagi.

Bahasan mengenai RPL dan RPL-OO memiliki satu tujuan yaitu tentang pembuatan suatu perangkat lunak/ program aplikasi, dengan dasar analisa kebutuhan untuk diterapkan sebagai perangkat bantu dalam memecahkan permasalahan di dunia nyata.

Sebenarnya jika dilihat dari tujuannya cukup RPL saja. Tapi dikarenakan terlalu banyak pendapat, metode dan parameter penting dalam proses rekayasa perangkat lunak, maka dijadikan 2 matakuliah dengan bahasan yang berbeda. Dulu cukup dengan RPL saja tapi karena perkembangan metode baru maka bahasannyapun menjadi banyak.

RPL akan difokuskan pada Analisis dan Perancangan PL menggunakan pendekatan terstruktur (Structured Approach). Sedangkan RPL-OO akan difokuskan menggunakan pendekatan objek (Object Oriented Approach)

Perbedaan dan Persamaan?

Keduanya memiliki perbedaan dalam hal Analisis dan sangat terlihat pada Perancangan sebelum tahapan Implementasi. Keduanya memiliki persamaan yaitu untuk membantu menterjemahkan permasalahan dunia nyata kedalam bentuk-bentuk yang mudah dimengerti.

Tahapan perancangan PL?

Dimulai dari FlowChart
 
Structured Approach: Context Diagram, Entity Relationship Diagram, Data Flow Diagram dan Dekomposisinya, Event List, Data Dictionary.
Object Approach: UseCase Diagram, Class Diagram, Component Diagram, Physial Diagram

Bahasan utama dalam RPL-OO ini adalah Object Approach, ada banyak metode yaitu:

Shlaer/Mellor Method [Shlaer-1988]
Coad/Yourdan Method [Coad-1991]
Booch Method [Booch-1991]
OMT Method [Rumbaugh-1991]
Wirfs-Brock Method [Wirfs-Brock-1990]
OOSE Objectory Method [Jacobson-1992]
UML (Unified Modeling Language) [UML-1997]

Kita akan fokuskan ke UML karena UML adalah penggabungan dari beragam OO yang berbeda paham tapi ada sedikit persamaan. Di kembangkan oleh OMG, Object Management Group,Inc dengan tujuan penyatuan VISI mengenai OO.