PERANCANGAN PERANGKAT LUNAK Pertemuan 9 PERANCANGAN PERANGKAT LUNAK Febriyanno Suryana, S.Kom, MM surya_gsc04@yahoo.com 0852 7474 1981 SI -2013
Struktur Sistem Komputer
Bahasa Pemrograman Bahasa pemrograman, atau sering diistilahkan juga dengan bahasa komputer, adalah teknik komando/instruksi standar untuk memerintah komputer. Bahasa pemrograman ini merupakan suatu himpunan dari aturan sintaks dan semantik yang dipakai untuk mendefinisikan program komputer. Bahasa ini memungkinkan seorang programmer dapat menentukan secara persis data mana yang akan diolah oleh komputer, bagaimana data ini akan disimpan/diteruskan, dan jenis langkah apa secara persis yang akan diambil dalam berbagai situasi.
Bahasa Pemrograman Menurut tingkat kedekatannya dengan mesin komputer, bahasa pemrograman terdiri dari: Bahasa Mesin, yaitu memberikan perintah kepada komputer dengan memakai kode bahasa biner, contohnya 01100101100110 Bahasa Tingkat Rendah, atau dikenal dengan istilah bahasa rakitan (bah.Inggris Assembly), yaitu memberikan perintah kepada komputer dengan memakai kode-kode singkat (kode mnemonic), contohnya MOV, SUB, CMP, JMP, JGE, JL, LOOP, dsb. Bahasa Tingkat Menengah, yaitu bahasa komputer yang memakai campuran instruksi dalam kata-kata bahasa manusia (lihat contoh Bahasa Tingkat Tinggi di bawah) dan instruksi yang bersifat simbolik, contohnya {, }, ?, <<, >>, &&, ||, dsb. Bahasa Tingkat Tinggi, yaitu bahasa komputer yang memakai instruksi berasal dari unsur kata-kata bahasa manusia, contohnya begin, end, if, for, while, and, or, dsb. Sebagian besar bahasa pemrograman digolongkan sebagai Bahasa Tingkat Tinggi, hanya bahasa C yang digolongkan sebagai Bahasa Tingkat Menengah dan Assembly yang merupakan Bahasa Tingkat Rendah.
Generasi bahasa pemrograman: Generasi I: machine language Generasi II: assembly language : Asssembler Generasi III: high-level programming language: C, PASCAL, dsb. Generasi IV: 4 GL (fourth-generation language): SQL
Pemrograman dan Bahasa Pemrograman Berbasis OOP Ragam bahasa pemrograman berbasis OO Bahasa OO “murni” semua diperlakukan secara konsisten mengikuti teori OO dan “memaksa” pemrogram mengikutinya. Contoh: Smalltalk, Eiffel, Ruby Bahasa yang dirancang untuk OOP, tetapi dengan beberapa elemen prosedural. Contoh: Java (program utama/entry point) Bahasa yang aslinya prosedural, tetapi kemudian ditambah fitur-fitur OO. Contoh: C++, Perl, PHP
Tugas : 1. Cari Perbedaan 2. Jelaskan dengan istilah dan contoh
Tahap perancangan perangkat lunak
1. Perancangan terstruktur… Orientasi pada proses dan data Alat yang digunakan : DFD, ERD, Bagan terstruktur Karakteristik rancangan : Modul disusun secara hirarki Menggunakan logika Call/Perform Based Menggunakan alur kendali (top bottom / bottom to top Repetisi dalam setiap modul (looping) Konsep kendali standar (urut dan seleksi)
Pemrograman Terstruktur Secara berurutan dan terstrukrtur. Terstruktur dalam : analisa, cara dan penulisan program. Program dapat dibagi-bagi menjadi prosedur dan fungsi. Contoh : Pascal, C, Delphi
Struktur Penulisan Program Pascal Blok Deklarasi, dan Blok Program Utama (Main Program). Blok Deklarasi Blok Main Program
Langkah-langkah Dalam Pemrograman Komputer Mendefinisikan masalah (hukum Murphy oleh Henry Ledgard) Menemukan solusi Memilih algoritma Menulis program Menguji program Menulis dokumentasi Merawat program
2. Perancangan berorientasi objek… Orientasi pada objek, kelas, atribut dan daftar operasi Alat yang digunakan : DFD, ERD, Bagan terstruktur, W/O Tahapan rancangan : Mendeskripsikan objek Memodelkan relasi antar objek dan kelas Memodelkan pewarisan Menggabungkan faktor MURRE
Contoh ERD Perhotelan
Contoh DFD Penggajian Karyawan
OOP
Object Oriented Programming?? OOP merupakan metodologi dalam pemrograman yang di ciptakan untuk memodelkan kasus-kasus nyata ke dalam suatu objek. Objek merupakan kombinasi antara struktur data dan perilaku dalam satu entitas/objek. Merupakan strategi perancangan dimana perancang sistem memikirkan ‘benda’ dan bukan operasi atau fungsi.
Object? Secara spesifik objek adalah sesuatu paket yang merupakan kumpulan data dan method (perilaku) Data Sesuatu yg menentukan karakteristik sebuah objek Method Aksi terhadap data (cara suatu objek melakukan sesuatu). Sebagai contoh, objek manusia memiliki data-data seperti: tinggi badan, berat badan, warna kulit dsb. Sedangkan perilaku/method yang dimiliki manusia misalnya cara berjalan, cara bicara dan sebagainya
Object… Dalam pemrograman, data-data di dalam objek akan direpresentasikan dengan variabel atau konstanta, sedangkan perilaku akan direpresentasikan dengan prosedur atau fungsi, yang kemudian disebut dengan method. Ilustrasi tersebut digambarkan sebagai berikut: objek data method Berupa variabel atau konstanta Berupa prosedur atau fungsi
Object…
Class?? adalah gambaran karakter dari sebuah benda/object. Sifat-sifat objek, dan juga apa yang bisa dilakukan oleh objek tersebut Misal saya, anda dan yg lainnya adalah objek, yg termasuk dlm kelas manusia. Ada berbagai jenis kendaraan darat seperti kendaraan roda dua(motor/sepeda), roda tiga(becak) dan roda empat(mobil) kendaraan berroda dua,tiga dan empat itu pada konsep OOP disebut sebagai Class, kita ambil satu contoh kelas kendaraan berroda empat (Mobil), Mobil memiliki bentuk yang berbeda, warna yang berbeda, bentuk dan warna tersebut pada konsep OOP disebut sebagai Properties/Data sedangkan cara berjalan, cara berhenti, cara menyalakan lampu pada mobil itu disebut sebagai method
Class... Class adalah suatu template yang digunakan sebagai pola desain suatu objek. Class : rancangan mobil Objek : mobil nyata Dari contoh diatas dapat disimpulkan bahwa objek dari kelas mobil adalah sedan,truk, jip Class harus di instansiasikan (dibuat objeknya) terlebih dahulu.
Objek Class
Class… Data Method
Class…
Class… Dlm bahasa pemrograman, sering dikatakan bahwa objek merupakan instansiasi dari sebuah kelas. Instansiasi merupakan wujud nyata dari suatu objek. Sebagai contoh: jika terdpt objek manusia, maka udin, amir dan ali adalah instance dari objek manusia. dianalogikan juga bahwa tipe data adalah kelas, sedangkan var yg didefinisikan berdasarkan tipe data tersbt adalah objek. contoh jika: x : integer ; berarti objek x adalah instance dari kelas integer.
Cth kode program prosedural : <php /* procedural.php */ print "Hello, world."; ?>
Cth kode program OOP : <php /* objek.php */ class HelloWorld { function myPrint() print "Hello, world."; } $myHelloWorld = new HelloWorld $myHelloWorld->myPrint(); ?>
Konsep Object Oriented Kelas Objek Atribut/Data Metoda/Servis/Operator/Perilaku Message Event State Skenario
Konsep Object Oriented…
Konsep Object Oriented…
Konsep Object Oriented…
Karakteristik pengembangan PL berorientasi Objek : Encapsulation Inheritance Polymorphism
Karakteristik pengembangan PL berorientasi Objek… Contoh : Suatu objek mobil sedan menyalakan lampu(bagai mana lampu mobil bisa terhubung dengan arus listrik yang ada pada accu)detail dari proses menyalanya lampu dari sebuah mobil sedan kita tidak perlu mengerti
Karakteristik pengembangan PL berorientasi Objek… salah satu teknis untuk membuat class lebih spesifik.(suatu kelas berasal dari turunan pertama atau lebih kelas lainnya) Contoh : Membuat class yang lebih spesifik dari mobil yaitu bmw,volvo,mercy class ini memiliki property/data tambahan seperti adanya gps, dvd players dll
Karakteristik pengembangan PL berorientasi Objek… suatu object bisa bertindak lain terhadap message/method yang sama.(kemampuan objek berubah menjadi objek yang lain) Contoh : Setiap mobil Memiliki Sokbreker (Per) yang dapat menentukan kenyamanan saat berkendara, tetapi mobil sedan lebih nyaman dibanding kan dengan mobil carry
Polymorphism Poly: banyak; morphism: bentuk sebuah fitur (generik) bisa diimplementasikan dengan berbagai cara Polymorphism diimplementasikan dengan mekanisme inheritance dan overriding hewan “bersuara” anjing “menggonggong” kucing “mengeong” kuda “meringkik”
OOP…
Alat dan Teknik Pengembangan Sistem
Dapat berupa : Grafik HIPO, DFD, W/O Bagan bagan untuk menggambarkan aktivitas (cth : flowchart) bagan untuk menggambarkan tata letak (cth : bagan organisasi) bagan untuk menggambarkan hubungan personil Teknik yang digunakan : Teknik Manajemen Proyek : CPM, PERT Teknik menemukan fakta : wawancara, observasi, kuisioner, sampling. Teknik analisis biaya.
Perangkat Pemodelan Adalah suatu model yang digunakan untuk menguraikan sistem menjadi bagian-bagian yang dapat diatur dan mengkomunikasikan ciri konseptual dan fungsional kepada pengamat. Peran perangkat pemodelan : Komunikasi Digunakan sebagai alat komunikasi antara pemakai dengan analis sistem dalam pengembangan sistem Eksperimentasi Pengembangan sistem bersifat trial dan error Prediksi Model meramalkan bagaimana suatu sistem akan bekerja
Jenis Perangkat Pemodelan Diagram Arus Data (DFD) Menunjukkan proses yang dijalankan dalam sistem Kamus Data Defenisi elemen data dalam sistem Entity Relationship Diagram (ERD) Model penyimpanan data dalam DFD Bagan Struktur Menggambarkan suatu hirarki modul program perangkat lunak termasuk dokumentasi interface antar modul Flowchart Menggambarkan alur dan logika program Daigram Warnier-Orr (WOD) Menunjukkan penguraian hirarki proses atau data
Penyebab kegagalan pengembangan sistem Kelalaian menetapkan kebutuhan user dan melibatkan user Kurang sempurnanya evaluasi kualitas dan analisis biaya Adanya kerusakan dan kesalahan rancangan Penggunaan teknologi komputer dan perangkat lunak yang tidak direncanakan dan pemasangan teknologi tidak sesuai
Mengatasi kegagalan : SDLC Prototipe Perangkat pemodelan Teknik Manajemen Proyek CASE JAD Keterlibatan pemakai
End Session www.suryagsc.wordpress.com