konsep utama analisa dan perancangan sistem · jelaskan peran analis sistem jelaskan sdlc dan...
TRANSCRIPT
Konsep Utama Analisa danPerancangan Sistem
Lingkungan Pengembangan Sistem
Capaian Pembelajaran
Mendefinisikan analisis dan desain sisteminformasi
Mendiskusikan pendekatan modern untuk APS yang menggabungkan proses dan data tampilan
Jelaskan peran analis sistem
Jelaskan SDLC dan alternatif lain
Jelaskan peran alat bantu computer aided software engineering (CASE)
Apa itu Analisa dan PerancanganSistem?
• Sebuah metode yang digunakan untuk mengembangkan danmemelihara sistem yang melakukan fungsi dasar tertentu
• Tujuan utama - untuk meningkatkan efisiensi pengembangdengan menerapkan solusi perangkat lunak untukmendukung operasi sistem
• Sebuah pendekatan terstruktur untuk memastikankeberhasilan
• Sistem Analis melakukan APS berdasarkan:– Pemahaman tujuan, struktur dan proses sebuah sistem
– Pengetahuan tentang bagaimana memanfaatkan teknologi informasiuntuk mendapatkan keunggulan
Apa itu Analisa dan PerancanganSistem Informasi?
• Sebuah metode yang digunakan untuk mengembangkan danmemelihara sistem yang melakukan fungsi dasar bisnis
• Tujuan utama - untuk meningkatkan efisiensi karyawandengan menerapkan solusi perangkat lunak untuk tugas-tugasutama bisnis
• Sebuah pendekatan terstruktur untuk memastikankeberhasilan
• Sistem Analis melakukan APS berdasarkan:– Pemahaman tujuan, struktur dan proses organisasi
– Pengetahuan tentang bagaimana memanfaatkan teknologi informasiuntuk keuntungan
Tujuan Analisa dan PerancanganSistem?
• Untuk meningkatkan efisiensi sistem, melihatkekurangan yang perlu diperbaiki dandijadikan pertimbangan dalam sistem baruyang akan dirancang.
• Analisa dan Perancangan Sistem padadasarnya merupakan sebuah “problem solving tools” dalam meningkatkan efisiensisistem.
Problem Solving – PemecahanMasalah
Merupakan proses mental yang melibatkanmenemukan, menganalisis dan memecahkanmasalah.
Bagaimana memecahkan masalah?
Langkah Pemecahan Masalah
7 langkah untuk memecahkan masalah
Langkah 1. Identifikasi masalah
• Pertama Anda perlu mengidentifikasi danmemberi nama masalah, sehingga Anda dapatmenemukan solusi yang tepat.
Langkah 2. Eksplorasi masalah
• Melihat masalah dengan cara yang berbeda, kemungkinan akan membantu Anda menemukan solusi yang efektif.
Langkah 3. Tetapkan tujuan
• Setelah Anda telah memikirkan tentangmasalah, Anda dapat mengidentifikasi tujuanAnda.
Langkah 4. Lihatlah Alternatif
• Ketika Anda telah memutuskan apa tujuanAnda, Anda perlu mencari solusi yang memungkinkan.
Langkah 5. Pilih solusi yang mungkin
• Dari daftar solusi yang memungkinkan Andadapat memilah-milah mana yang paling relevan dengan situasi Anda dan yang realistisdan mudah dikelola.
Langkah 6. Menerapkan solusi yang mungkin
• Setelah Anda telah memilih solusi yang memungkinkan Anda siap untukmenerapkannya ke dalam tindakan.
Langkah 7. Mengevaluasi
• Hanya karena Anda telah menerapkan solusiterbaik, Anda mungkin tidak otomatismemecahkan masalah Anda, sehinggamengevaluasi efektivitas solusi Anda sangatpenting.
Jika solusi telah berhasil dalam membantu Anda untukmemecahkan masalah Anda dan mencapai tujuan Anda, maka Anda tahu bahwa Anda telah secara efektifmemecahkan masalah Anda.
Kreativitas dan Pemecahan Masalah
• Creative problem solving adalah proses mental dalam menciptakan solusi untukmasalah. Ini merupakan sebuah bentukkhusus dari pemecahan masalah dimanasolusinya secara independen dibuat tanpabantuan dalam mempelajari.
Kesimpulan
Masalah dan solusi adalah bagian darikehidupan sehari-hari.
Daripada lari dari mereka, mari kita membuatsolusi.
Most people spend more time and energy going around problems than in
trying to solve them.-Henry Ford
Pemecahan Masalah danPengembangan
• Fase pemecahan masalah tidak melibatkankomputer
• Fase implementasi pengkodean melibatkankomputer
20
Problem Solving Tools
• Program yang dibuat untuk memecahkanmasalah.
• Sebuah solusi harus dirancang sebelumcoding.
• Salah satu metode untuk merancang sebuahsolusi untuk masalah adalah untukmenciptakan sebuah algoritma.
Algoritma vs. Program
• Sebuah Algoritma adalah prosedur langkah-demi-langkah yang dirancang untuk tujuan mengambil data dan menghasilkan output yang benar.
• Sebuah program adalah implementasi aktual darisebuah algoritma dalam bahasa pemrograman.
• Sebelum menulis program, Anda harusmengembangkan algoritma untuk memecahkan suatumasalah (problem solving).
• Sangat Penting: Hal ini sangat dianjurkan untuk berpikirtentang masalahnya terlebih dahulu, kemudianmengembangkan algoritma, kemudian menulisprogram.
Mengapa kita membutuhkan “Problem Solving Skills”?
• Pemrograman Komputer secara efektif sangat bergantung padakemampuan kita untuk memecahkan masalah
• Program pada dasarnya ditetapkan untuk menyelesaikan beberapamasalah
• Pada intinya kita ingin muncul dengan satu set langkah-langkahtertentu & efisien yang dapat diulang dalam memecahkan masalahkita– Set langkah-langkah ini disebut algoritma– Sebagai contoh, jika kita ingin mengetahui terbesar dari 3 angka apa
proses yang kita terapkan untuk mencapai hasil ini
• Sekali kita keluar dengan algoritma kita, maka kita mengubahnyamenjadi kode sehingga dapat memecahkan masalah berulang kali– Program biasanya terdiri dari banyak algoritma
NOTE: Kita sering harus memecahkan masalah yang belumdiselesaikan sebelum.
Algoritma
• Sebuah algoritma adalah daftar langkah-langkah untukmemecahkan masalah ditulis dalam bahasa umum (dalamhal pemrograman, Inggris).
– Langkah-langkah untuk memecahkan masalah yang ditulis dannomor dalam urutan di mana mereka harus dieksekusi.
• Mereka harus serinci yang diperlukan untuk menguraikansolusi.
• Algoritma Anda tidak hanya akan memberitahu program apa yang harus dilakukan, tetapi bagaimana melakukannya.
Contoh Algoritma - Pulang ke Rumah
• Algoritma BerjalanKaki
1. Meninggalkan kampus
2. Belok kanan dari gerbang kampus
3. Berjalan 1,2 km
4. Belok kanan di jalan
5. Pergi ke rumah ke-4
• Algoritma AngkutanUmum
1. Pergi ke daerahangkutan umum
2. Dapatkan di angkutan umumkode yang benar
3. Pergi ke rumah
Menggambarkan Algoritma.
Algoritma dapat digambarkan dengan berbagai cara ...
• Pseudocode
• Flowchart
26
Pseudocode
• Pseudocode adalah campuran dari bahasa inggris dan kodeyang merupakan apa yang ingin program Anda lakukan.
• Ini membantu Anda menentukan bagaimana Anda inginprogram untuk bekerja serta apa variabel dan metode / fungsiyang ingin Anda untuk memasukkan.
• Mengembangkan pseudocode akan membantu Anda bekerjamelalui logika Anda, mengurangi jumlah kesalahan danpotensi menulis ulang yan Anda akan harus melakukan.
Contoh Pseudocode
Struktur Bahasa1. Masukan Panjang2. Masukan Lebar3. Nilai Luas adalah Panjang * Lebar4. Tampilkan Luas
Pseudo Code1. Input Panjang2. Input Lebar3. Nilai Luas <--- Panjang * Lebar4. Print Luas
Flowchart
• Sebuah alat ketiga dalam pemrograman adalahmelalui penggunaan flowchart.
• Flowchart menggunakan simbol dan teks untukmemberikan representasi visual dari sebuahsolusi untuk masalah.
• The arah panah menunjukkan aliran logika.
Flowchart
• Flowchart membantu programmer mulaimerencanakan proyek pemrograman.
• Mereka memberikan representasi visual darialgoritma atau proses.
• Mereka menggambarkan input, proses danoutput dari program yang diperlukan untukberhasil menyelesaikan proyek.
Process Pemecahan Masalan
1 – Analyze the problem
2 – Solve & Define the algorithm
3 – Test the algorithm
4 – Refine the algorithm
Program Development CycleProses Pemecahan Masalah Berbasis Komputer
1 - Menganalisis masalah
2 - Memecahkan & Tentukan algoritma
3 - Uji algoritma
4 - Sempurnakan algoritma
Program Development Cycle
1 - Menganalisis masalah– Cobalah untuk mendapatkan pemahaman yang lebih dari masalahnya
– Memecah masalah menjadi bagian-bagian yang lebih kecil
• Ingat: pecah dan taklukkanmasalah besar dapat membingungkan!
– menggunakan salah satu metode kita akan bahas nanti
2 - Memecahkan & Tentukan algoritma– Jika dapat memecahkan sekali, maka kita akan dapat mulai mencari
tahu langkah-langkah apa yang kita digunakan.
– Tentukan ini sehingga kita bisa ulang mengatasinya lagi.
Program Development Cycle (2)
3 - Uji algoritma– Memverifikasi bahwa ia bekerja
– Ikuti langkah-langkah Anda dan pastikan mereka memecahkanmasalah
4 - Sempurnakan langkah– Cobalah untuk menemukan cara yang lebih efisien / efektif
memecahkan masalah
– Pastikan Anda memverifikasi lagi
Ini membutuhkan latihan dan kadang trial and error
Kunci dari inovasi adalah tidak menyerahJika salah satu pendekatan tidak bekerja maka Anda masih membuatkemajuan Anda dapat menghilangkan pendekatan itu
Menganalisa dan Solusi Awal
• Tentukan apa masalahnya– Cobalah untuk datang dengan satu solusi yang memungkinkan
• Di sinilah kita akan mulai di kelas ini
• Kita akan menggunakan berbagai teknik untuk menganalisadan memecahkan masalah:– Membangun di atas apa yang Anda ketahui– Menganalisis keadaan masalah– Berpikir di luar kebiasaan– Carilah kesamaan dalam masalah sebelumnya sudah dipecahkan– Means-Ends Analysis– Memecah dan Taklukkan
Membangun di atas apa yang Anda ketahui
• Seringkali dalam pengembangan perangkat lunak Andaakan memiliki satu set yang tampaknya persyaratan yang saling lepas
• Satu pendekatan adalah untukMembangun berdasarkan pengetahuan Anda saat ini
• Menganalisis setiap fakta dan menentukan apakah Andadapat menentukan apapun berdasarkan fakta-fakta ituakan mengarah kepada solusi– Cobalah untuk memecahkan dalam beberapa urutan sistematis– Ambil satu persyaratan pada suatu waktu
Acara TV Favorit
• Enam teman yang duduk di sekitar meja membahas acara TV favorit mereka
• Acara yang mereka membahas– Friends
– Golf tournaments
– My Wife & Kids
– 20/20
– Everybody Loves Raymond
– Will and Grace
• Berdasarkan informasi berikut– Tentukan acara TV favorit setiap orang dan di mana mereka duduk
A) Anak laki-laki yang suka golf tournament duduk langsung di sebelah kanan Doug
B) Scott duduk antara dua orang, satu yang menonton "Will dan Grace"
dan yang lainnya menonton "Golf tournament"
C) Tidak ada yang duduk di antara Trish dan Debbie
D) Debbie duduk langsung di kiri dari anak laki-laki yang suka "Friends"
E) Anak laki-laki yang suka "My Wife & Kids" tidak duduk di samping seorangperempuan
F) Debbie tidak peduli akan "Everybody Loves Raymond"
G) Carlos tidak duduk di samping seorang perempuan
H) Erik tidak duduk di samping perempuan yang suka "Will dan Grace"
ScottNama
Acara Fav
Pikirkan tentang apa yang kita ketahuiManakah dari petunjuk membangunpengetahuan kita saat ini?
Ringkasanmembangun dari apa yang Anda ketahui
• Tujuan pelatihan ini adalah untuk memulaidengan satu petunjuk
– Secara sistematis mengatasi setiap persyaratan
• Sebagian besar masalah di CS terdiri daribanyak persyaratan
• Hal ini penting untuk mengatasi setiappersyaratan tanpa melanggar Persyaratan lain
Menganalisa & Teknik Pemecahan
• Membangun di atas apa yang Anda ketahui
• Menganalisa keadaan masalah
• Berpikir di luar kebiasaan
• Carilah kesamaan dalam masalah sebelumnya sudahdipecahkan
• Means-Ends Analysis
• Memecah dan Taklukkan
Menganalisa Keadaan Masalah
• Kadang-kadang kita dapat membuat daftar setiapkeadaan yang mungkin.– menganalisa setiap kemungkinan individual.
• Masalah dapat diselesaikan melalui proses eliminasi– Dengan kata lain --- mana kemungkinan yang dapat
dihilangkan dan mana yang tidak bisa
... atau melalui serangkaian pengurang
The Five Hats Problem• Tiga orang yang dihukum mati, salah satunya
adalah buta. Raja memutuskan dia akanmenawarkan mereka kesempatan untukdibebaskan.
• Ketiga pria tersebut diatur dalam sebuahlingkaran saling berhadapan.
• Raja menghasilkan 5 topi: 3 putih dan 2 hitam.
• Para pria tidak dapat melihat topi
• Raja menempatkan topi di kepala setiap orang dan kemudian menghancurkan dua topi yang tersisa.
Para pria tidak tahu topi mana telahdihancurkan.
Raja memerintahkan mereka, "Yang pertama Anda yang dapat memberitahusaya warna topinya akan dibebaskan."
Sebuah periode waktu berlalu dalamkeheningan dan akhirnya orang butamemberitahu raja warna topi dandibebaskan.
Apa warna topi yang orang buta pakai danbagaimana dia bisa tahu?
Jawaban ini tidak memiliki "trik" - jawabanAnda harus sangat logis dan dipikirkandengan baik. Dapat menjelaskan jawabanAnda dari sudut pandang masing-masingtiga tahanan.
Petunjuk: Setiap orang tidak buta dapatmelihat topi orang buta serta orang tidakbuta lainnya. Apa waktu heningmenyimpulkan?
Five Hats Problem
• Untuk masalah seperti ini kita tahu setiap hasilyang mungkin
• Tuliskan
• Kemudian cobalah untuk menganalisa setiapkemungkinan– Hilangkan kemungkinan jika Anda bisa
Pikirkan tentang semua kemungkinan.
Apa saja potensi pengaturan topi?
Lht1 Lht2 Bt
Menganalisa & Teknik Pemecahan
• Membangun di atas apa yang Anda ketahui
• Menganalisa keadaan masalah
• Berpikir di luar kebiasaan
• Carilah kesamaan dalam masalah sebelumnya sudahdipecahkan
• Means-Ends Analysis
• Memecah dan Taklukkan
Menganalisa Keadaan Masalah
• Masalah 5 topi / 3 tahanan adalah contoh menganalisis kemungkinankeadaan
• Menggunakan metode ini– Mengidentifikasi bahwa ada sejumlah pilihan
– Daftar pilihan dan menganalisis mereka
– Kadang-kadang trial and error ini sah saja untuk pilihan terbatas
• Untuk 5 topi ____________________________
• ___________________________________________
• Kita memeriksa semua keadaan yang mungkin untuk ketiga tahanan(hanya ada 7)
• Dari sini kita menyimpulkan ______________________
___________________________________________
jika tidak tahanan yang dapat melihat akan berbicara
• Mari kita memperluas teknik ini untuk memecahkan masalah berikutnya
Missionary-Cannibal Problem
• Ada 3 misionaris, 3 kanibal, dan perahu.
• Mereka ingin menyeberangi sungai.
• Jika ada kanibal lebih dari misionaris pada setiap sisi sungai kanibal akan memakanmisionaris.
• Hanya 2 orang muat dalam perahu pada satu waktu.
• Bagaimana para misionaris membawa kanibal di seberang sungai tanpa dimakan. (baik Misionaris dan kanibal perlu untuk ke sisi lain)
Melihat kemungkinan seperti 5 topiMembuat pengurang di setiap langkah
Menganalisa & Teknik Pemecahan
• Membangun di atas apa yang Anda ketahui
• Menganalisa keadaan masalah
• Berpikir di luar kebiasaan
• Carilah kesamaan dalam masalah sebelumnya sudahdipecahkan
• Means-Ends Analysis
• Memecah dan Taklukkan
Berpikir Di luar Kebiasaan
• Berapabanyakkotakyang ada?
Kadang-kadang kita menempatkan kendala pada masalahKita perlu melihat kendala dan menentukan apakah
masalah menentukan kendala tersebut atau kita Jika kita maka kita harus berpikir di luar kebiasaan kita
Berpikir Di luar Kebiasaan (2)
Gambarlah empat segmen garis melalui 9 poin tanpa mengangkat pensil ataumenelusuri kembali garis.
Menganalisa & Teknik Pemecahan
• Membangun di atas apa yang Anda ketahui
• Menganalisa keadaan masalah
• Berpikir di luar kebiasaan
• Carilah kesamaan dalam masalah sebelumnya sudahdipecahkan
• Means-Ends Analysis
• Memecah dan Taklukkan
Carilah Kesamaan
Carilah kesamaan dalam masalah sebelumnya sudahdipecahkan
Sebagai contoh
Menemukan bobot terberat & teringan
adalah sebenarnya masalah yang sama seperti
Menemukan nilai tertinggi dan terendah pada tes
adalah sebenarnya masalah yang sama seperti
Menemukan suhu tinggi dan rendah setiap hari
semua 3 masalah dapat diabstraksikan sebagai
Menemukan nilai terbesar dan terkecil dalam satu set nomor
Menganalisa & Teknik Pemecahan
• Membangun di atas apa yang Anda ketahui
• Menganalisa keadaan masalah
• Berpikir di luar kebiasaan
• Carilah kesamaan dalam masalah sebelumnya sudahdipecahkan
• Means-Ends Analysis
• Memecah dan Taklukkan
Means-Ends Analysis
• Keadaan awal dan keadaan akhir kadang diberikan– Anda perlu menentukan serangkaian tindakan yang dapat
digunakan untuk mendapatkan dari satu ke yang lain
– Setelah Anda memiliki serangkaian tindakan, Anda perluuntuk kerja untuk hasilkan rincian
Diterjemahkan ke pemrograman komputer
• Mulai dengan menulis input.– (Keadaan awal)
• Apa keadaan output seharusnya untuk input tersebut? – (Keadaan akhir)
• Pemrosesan apa yang butuh untuk dilakukan untukmendapatkan hasil akhir?
Menganalisa & Teknik Pemecahan
• Membangun di atas apa yang Anda ketahui
• Menganalisa keadaan masalah
• Berpikir di luar kebiasaan
• Carilah kesamaan dalam masalah sebelumnya sudahdipecahkan
• Means-Ends Analysis
• Memecah dan Taklukkan
Pecah & Taklukkan
• Memecah masalah besar menjadi masalahlebih kecil yang dapat dikelola
Masalah susah
Masalah kecil
mudah
Masalah kecil
mudah
Masalah kecil
susah
Masalah kecil
mudah
Masalah kecil
mudah
Contoh Pecah & Taklukkan
Hitung luas lingkaran
Pernyataan masalah
• Kita perlu program interaktif (user akan input data) yang menghitung luas lingkaran. Mengingat jari-jari lingkaran, lingkaran daerah harus ditampilkan pada layar
Deskripsi Input/Output
– Input radius lingkaran
– Output luas lingkaran
Pengembangan Algoritma (serangkaian langkah-langkah, outline dekomposisi)
1. Baca nilai radius lingkaran (r)
2. Hitung luas lingkaran sebagai 𝛑* r2
3. Print nilai luas lingkaran
Bagaimanakah kita menampilkan algoritma yang lebih kompleks
– Pseudocode, flowchart
Contoh Pecah & Taklukkan (2)
Block diagram pecah dan taklukkan dari masalah kita
PseudocodeMulai
MINTA pengguna akan radius lingkaran
BACA radius
HITUNG Luas lingkaran (𝛑* radius2 )
OUTPUT Luas lingkaran
END
Circle area
Read radius Print circle areaCompute area
Beranjak dari Pemecahan Masalah kePemrograman - Kosa kata
• Algoritma langkah demi langkah proses untuk memecahkan masalah.
• Top-Down Design (metode rekayasa)Memecahkan masalah yang lebih besar menjadi bagian-bagian kecil yang
diekmbangkan dari umum ke yang khusus
Bagian kecil yang lebih mudah dikelola dan mudah dimengerti
AKA “Pecah & Taklukkan"
• Hierarchical Input/Output “HIPO” Chart Sebuah diagram dari top down desain
Memberikan perspektif hirarki dari sistem input, output, dan pengolahanmodul
• Module Satu bagian kecil dari solusi
Kosa kata(2)
• Flowchart Sebuah diagram dari suatu algoritma menggunakan simbol-simbol tertentu
yang mewakili konstruksi pemrograman
• Pseudocode Penjelasan singkat, bahasa Inggris/indonesia-seperti dari suatu algoritma
Digunakan untuk memahami aliran program dasar tanpa khawatir tentangsintaks yang benar
• Desk Check Berjalan melalui algoritma secara manual - langkah demi langkah
Menggambar setiap lokasi memori dan periksa algoritma seolah-olah Andakomputer
• Documentation Apa pun yang memberikan informasi tentang program
Komentar dalam kode, tabel data yang menggambarkan data yang digunakandalam kode & dokumen eksternal (flow chart, panduan pengguna, desain, dll)