Minggu, 14 Agustus 2022

MATERI PWPB XIIRPL_4

Kompetensi Dasar:

3.21  Merancang sistem informasi web

4.21 Membangun aplikasi sistem informasi web

SISTEM INFORMASI 

Pengertian Sistem menurut pakar

ü  Menurut  Raymond  Mc Leod,  Jr ( 2004  ) sistem  adalah  elemen  elemen yang terintegrasi  dengan maksud yang sama untuk mencapai tujuan.  Suatu organisasi  seperti perusahaan  atau satu area fungsional cocok dengan definisi ini

ü  Menurut Jogiyanto. H. M ( 2005 ) sistem adalah suatu jaringan kerja dari   prosedur      prosedur   yang   saling   berhubungan,   berkumpul bersama sama untuk melakukan suatu kegiatan atau untuk menyelesaikan suatu sasaran tertentu .


Karakteristik sistem

Suatu sistem mempunyai karakteristik atau sifat sifat tertentu, yaitu :

1.    Komponen sistem

Suatu sistem terdiri dari sejumlah komponen yang saling berinteraksi, yang artinya saling bekerja sama membentuk satu kesatuan.

2.    Batasan Sistem

Batasan sistem (boundary) merupakan daerah yang membatasi antara suatu sistem dengan sistem yang lain atau dengan lingkungan luarnya. Batasan suatu sistem menunjukan ruang lingkup dari sistem tersebut.

3.    Lingkungan Luar Sistem

Lingkungan luar sistem (environment) adalah apapun di luar batasan dari sistem yang mempengaruhi operasi sistem.

4.    Penghubung Sistem

Penghubung  (interface)  merupakan  media  penghubung  antara subsistem dengan subsistem lainnya. Melalui media penghubung  ini memungkinkan sumber daya yang ada mengalir dari satu subsistem ke subsistem lainnya.

5.    Masukan Sistem

Masukan (input) adalah hasil dari energi yang dimasukkan ke dalam sistem.  Masukan  dapat berupa  masukan  perawatan   (maintenance input) dan masukan sinyal (signal input). Maintenancinput adalah energi yang dimasukkan supaya sistem tersebut dapat beroperasi, sedangkan  signal  input  adalah  energi  yang  diproses  untuk mendapatkan keluaran.

6.    Keluaran Sistem

Keluaran (output) adalah hasil dari energi yang diolah dan diklasifikasikan menjadi keluaran yang berguna dan sisa pembuangan keluaran dapat merupakan masukkan untuk subsistem yang lain. Contohnya  panas  yang dihasilkan  sistem  komputer  adalah  keluaran yang tidak berguna sedangkan informasi adalah keluaran yang dibutuhkan.

7.    Pengolah Sistem

Suatu sistem dapat mempunyai suatu bagian pengolah yang akan merubah masukkan menjadi keluaran.

8.    Sasaran Sistem

     Suatu  sistem  pasti mempunyai  sasaran  atau  tujuan  (objective)  yang sangat  menentuka sekali  masukan  yang  dibutuhkan   sistem  dan keluaran yang dihasilkan sistem

 

Kriteria Sistem Yang Baik

a.    Kegunaan

Sistem  harus  dapat  menghasilkan  informasi  yang  tepat  waktu  dan relevan untuk proses pengambilan keputusan.

b.    Ekonomis

Sistem   harus   dapat   menyumbang   suatu   nilai   tambah   sekurang kurangnya sebesar biayanya.

c.    Keandalan

Keluaran dari sistem harus mempunyai tingkat ketelitian yang tinggi dan dapat beroperasi secara efektif dan efisien.

d.    Kapasitas

Sistem harus cukup sederhana sehingga struktur dan operasinya dapat dengan mudah dimengerti dan prosedur mudah diikuti

e.    Fleksibilitas

Sistem   harus   cukup   fleksibel   untuk   menampung   perubahan-perubahan.

Informasi

Pengertian informasi menurut pakar:

ü Informasi adalah data yang telah diproses atau data yang memiliki arti.   Informasi   sesungguhnya   berasal   dari  data  yang  kemudian diproses sehingga data tersebut memiliki arti bagi pemakianya. (Raymond Mc. Leod, Jr, 2004)

ü Informasi   adalah   data  yang   diolah   menjadi   bentuk   yang   lebih berguna dan lebih berarti bagi yang menerimanya (Jogiyanto, H. M., 2005 ) .

Kualitas Informasi

Dari segi kualitas, informasi harus memenuhi syarat sebagai berikut :

1.    Akurat, berarti informasi harus bebas dari kesalahan – kesalahan dan tidak bisa atau menyesatkan karena dari sumber informasi sampai ke penerima mungkin banyak gangguan yang dapat merubah informasi tersebut.

2.    Relevan,   berarti   informasi   tersebut   mempunyai   manfaat   untuk pemakai. Informasi dikatakan bernilai bila manfaat lebih efektit dibanding  dengan  biaya  mendapatkannya.   Suatu  informasi  tidak dapat ditaksir keuntungannya  dengan satuan nilai uang tetapi dapat ditaksir efektifitasnya.

3.    Tepat pada waktunya, berarti informasi yang datang, penerima tidak boleh terlambat, informasi yang sudah usang tidak akan mempunyai nilai  lagi  karena  informasi  merupakan  landasan  di  dalam pengambilan keputusan.

Siklus Informasi

Menurut Jogiyan H.M digambarkan sebagai berikut:



 

 

 

 

 

 

 

 

 


Nilai Informasi

Nilai dari informasi ditentukan oleh dua hal, yaitu bermanfaat dan biaya mendapatkannya.  Suatu  informasi  dikatakan  bernilai  bila  manfaatnya lebih  efektif  dibanding  dengan  biaya  mendapatkannya.  Tetapi  untuk menilai suatu informasi  tidak dapat persis ditaksir dengan satuan nilai uang, tetapi dapat ditaksir nilai efektivitasnya.

Komponen Sistem Informasi

John Burch dan Gary Grudnitski dalam bukunya Jogiyanto. H. M, ( 2005 ), mengemukakan    bahwa   sistem   informasi   mempunyai    komponen   komponen sebagai berikut :

1.    Blok Masukan

Masukan   (input)   berupa   metode      metode   dan   media   untuk menangkap data yang akan dimasukkan, yang dapat berupa dokumen-dokumen dasar.

2.    Blok Model

Terdiri   dari   kombinasi   prosedur    prosedur,   logika   dan   model matematik   yang   akan   memanipulasi   data   input   dan   data   yang tersimpan di basis data dengan cara yang sudah ditentukan untuk menghasilkan keluaran yang diinginkan.

3.    Blok Keluaran

Keluaran  merupakan  informasi  yang  berkualitas  dan  dokumentasi yang berguna untuk semua tingkatan manajemen serta semua pemakai sistem.

4.    Blok Teknologi

Teknologi merupakan kotak alat (tool box) dalam sistem informasi. Teknologi digunakan untuk menerima input, menjalankan model, menyimpan dan mengakses data, menghasilkan dan mengirimkan keluaran dan membantu pengendalian sistem secara keseluruhan.

5.    Blok Basis Data

Basis data adalah kumpulan dari data yang saling berhubungan  satu dengan lainnya, tersimpan di perangkat keras komputer dan digunakan perangkat lunak untuk memanipulasinya.

6.    Blok Kendali

Beberapa pengendalian perlu dirancang      dan diterapkan untuk meyakinkan bahwa hal – hal yang dapat merusak sistem dapat dicegah ataupun  bila  terlanjur  terjadi  kesalahan   kesalahan  dapat  langsung diatasi.


Pengertian Sistem Informasi Menurut Para Ahli

Agar dapat memahami pengertian sistem informasi lebih lanjut, berikut beberapa pendapat para ahli tentang sistem informasi.

1. John F. Nash

John F. Nash menjelaskan bahwa pengertian sistem informasi adalah kombinasi dari manusia, fasilitas ataupun teknologi, media, prosedur serta pengendalian yang memiliki maksud untuk menata jaringan komunikasi yang penting, proses maupun transaksi tertentu secara rutin, membantu manajemen serta pemakai intern maupun ekstern dan menyediakan dasar dari pengambilan keputusan yang tepat.

2. Robert A. Leitch

Pengertian sistem informasi menurut Robert A. Leitch merupakan suatu sistem yang ada di dalam suatu organisasi yang dapat mempertemukan kebutuhan pengolahan transaksi harian, mendukung operasi yang bersifat manajerial serta kegiatan strategi dari suatu organisasi dan menyediakan pihak luar tertentu dengan laporan yang diperlukan.

3. Henry Lucas

Lucas mengemukakan pendapat, bahwa pengertian sistem informasi adalah suatu kegiatan dari prosedur yang diorganisasikan dan jika dieksekusi maka akan menyediakan informasi guna mendukung pengambilan keputusan serta pengendalian yang ada di dalam.

4. Alter 

Menurut Alter, pengertian sistem informasi adalah tipe khusus dari sistem kerja, di mana manusia maupun mesin melakukan suatu pekerjaan dengan menggunakan sumber daya guna memproduksi produk-produk tertentu dan atau jasa untuk pelanggan.

5. Husein dan Wibowo

Sistem informasi menurut Husein dan Wibowo ialah seperangkat komponen yang saling berhubungan serta memiliki fungsi untuk memproses, mengumpulkan, menyimpan serta menyebarkan informasi guna mendukung pembuatan keputusan dan pengawasan dalam organisasi. Sistem informasi terdiri dari informasi yang membuat tentang manusia, tempat serta komponen yang ada di dalam organisasi maupun lingkungan yang melingkupinya.

6. Laudon dan Laudon

Secara teknik, pengertian sistem informasi dapat diartikan sebagai rangkaian komponen yang saling berhubungan dan berguna untuk mengumpulkan, memproses, menyimpan serta mendistribusikan informasi guna mendukung pengambilan keputusan serta pengawasan pada sebuah organisasi. 

Sistem Informasi Manajemen

Sistem informasi manajemen merupakan penerapan sistem informasi di dalam suatu organisasi untuk mendukung informasi – informasi yang dibutuhkan oleh semua tingkatan manajemen.

Menurut George M. Scott, sistem informasi manajemen adalah kumpulan dari interaksi sistem sistem informasi yang menyediakan informasi baik untuk kebutuhan manajerial maupun kebutuhan operasi.

Sedangkan menurut Gordon B. Davis, sistem informasi manajemen adalah sistem manusia atau mesin yang menyediakan informasi untuk mendukung operasi manajemen dan pengambilan keputusan organisasi. ( Jogiyanto, H. M, 2005 ).

Metode Pengembangan Sistem

Salah satu metode   pengembangan   sistem   yang  digunakan   adalah   SDLC (system  development  life  cycle)  /  Waterfall  .  Waterfall  Model  adalah sebuah  metode  pengembangan   software  yang  bersifat  sekuensial  dan terdiri dari 6 tahap yang saling terkait.



Desain Sistem/Perancangan Sistem

Pengertian Desain Sistem

Tahap setelah analisis dari siklus pengembangan sistem adalah desain sistem.

Menurut  John Burch dan Gary Grudnitski  dalam bukunya Jogiyanto. H. M, (2005), bahwa Desain Sistem adalah berupa penggambaran,  perencanaan dan  pembuatan  sketsa atau pengaturan dari beberapa elemen yang terpisah ke dalam satu kesatuan yang utuh dan berfungsi.

Tujuan dari desain sistem ini adalah memenuhi kebutuhan pemakai sistem serta memberikan gambaran yang jelas dan lengkap kepada pemrograman  komputer dan ahli-ahli tehnik lainnya yang terlibat.

Alat –alat bantu dalam Perancangan Sistem/Desain Sistem

Alat Bantu yang digunakan dalam desain sistem adalah:

1.        Bagan Alir (flowchart)

merupakan  bagan  yang menunjukkan  alir (flow)  prosedur  sistem secara logika. Bagan Alir digunakan pertama untuk alat bantu komunikasi dan dokumentasi. Simbol-simbol bagan alir yang digunakan adalah sebagai berikut:


Perbedaan DFD dan Flowchart

  • DFD menunjukkan alur data di suatu sistem sedangkan flowchart sistem menjelaskan alur kerja atau prosedur-prosedur yang ada di dalam sistem.
  • DFD prosesnya dapat dilakukan serentak atau pararel sedangkan flowchart alur datanya harus urut.
  • DFD tidak ada looping sedangkan flowchart ada looping.
  • DFD tidak ada proses perhitungan sedangkan flowchart ada proses perhitungan.

Pedoman Pembuatan Flowchart

  • Flowchart digambarkan dari halaman atas ke bawah dan kiri ke kanan.
  • Aktivitas yang digambarkan harus didefinisikan secara hati-hati dan definisi ini harus dapat dimengerti oleh pembacanya.
  • Kapan aktivitas dimulai dan berakhir harus ditentukan secara jelas.
  • Setiap langkah dari aktivitas harus diuraikan dengan menggunakan deskripsi kata kerja.
  • Setiap langkah dari aktivitas harus berada pada urutan yang benar.
  • Lingkup dan range dari aktifitas yang sedang digambarkan tidak perlu digambarkan pada flowchart yang sama. Simbol konektor harus digunakan percabangannya tidak berkaitan dengan sistem.
  • Gunakan simbol-simbol flowchart yang standar.

Jenis-jenis flowchart:

Bagan alir sistem (systems flowchart)

merupakan bagan yang menunjukan alur kerja atau apa yang sedang dikerjakan di dalam sistem secara keseluruhan dan menjelaskan urutan dari prosedur-prosedur yang ada di dalam sistem. Dengan kata lain, flowchart ini merupakan dekripsi secara grafik dari urutan prosedur-prosedur yang membentuk suatu sistem. Contoh:


Bagan alir dokumen (document flowchart)

disebut juga bagan alir formulir (form flowchart) atau paperwork. flowchart merupakan bagan alir yang menunjukkan arus dari laporan dan formulir termasuk tembusan-tembusanya. Contoh:


Bagan alir skematik (schematic flowchart)

merupakan bagan alir yang mirip dengan bagan alir sistem, yaitu untuk menggambarkan prosedur di dalam sistem. Perbedaanya adalah, bagan alir skematik selain menggunakan simbol-simbol bagan alir sistem,juga menggunakan gambar-gambar komputer dan peralatan lainnya yang digunakan. maksud penggunaan gambar-gambar ini adalah untuk memudahkan komunikasi kepada orang yang kurang paham dengan simbol-simbol bagan alir. Penggunaan gambar-gambar ini memudahkan untuk dipahami, tetapi sulit dan lama menggambarnya. Contoh:

Bagan alir program (program flowchart)

merupakan bagan alir yang mirip dengan bagan alir sistem, yaitu untuk menggambarkan prosedur di dalam sistem. Perbedaanya adalah, bagan alir skematik selain menggunakan simbol-simbol bagan alir sistem,juga menggunakan gambar-gambar komputer dan peralatan lainnya yang digunakan. maksud penggunaan gambar-gambar ini adalah untuk memudahkan komunikasi kepada orang yang kurang paham dengan simbol-simbol bagan alir. Penggunaan gambar-gambar ini memudahkan untuk dipahami, tetapi sulit dan lama menggambarnya. Contoh:

Bagan alir proses (process flowchart)

merupakan teknik penggambaran rekayasa industrial yang memecah dan menganalisis langkah-langkah selanjutnya dalam suatu prosedur atau sistem. Flowchart proses digunakan oleh perekayasa industrial dalam mempelajari dan mengembangkan proses-proses manufacturing. Dalam analisi sistem, flowchart ini digunakan secara efektif untuk menulusuri alur suatu laporan atau form. Contoh:

Dekomposisi

Merupakan  grafik yang dapa dipecah  menjadi  beberapa  bagian yang terkecil sehingga mudah dipelajari, dekomposisi mempunyai 4 bagian yaitu :

  • Memecahkan masalah-masalah yang besar ke bagian-bagian yang bisa dipecahkan.
  • Untuk membantu testing program
  • Untuk membantu penggambaran flow
  • Untuk membantu di dalam melacak proses terkecil sampai tertinggi

Context Diagram

Diagram context adalah diagram tingkat atas, merupakan diagram yang paling tidak detail dari sebuah sistem informasi yang menggambarkan aliran-aliran data ke dalam dan keluar sistem dan ke dalam dan keluar entitas-entitas external.

Contoh diagram konteks:

Data Flow Diagram (DFD)

DFD sering  digunakan  untuk  menggambarkan  sistem  yang telah ada atau sistem baru yang akan dikembangkan secara logika tanpa mempertimbangkan lingkungan fisik dimana data tersebut akan disimpanDFD merupakan alat yang digunakan pada metodologi pengembangan sistem yang terstruktur. 

Simbol DFD:


Contoh diagram level 1:

 

Perancangan Database

Dalam perancangan database dapat digunakan digunakan Entity Relationship Diagram (ERD), Normalisasi, Relationship  Tabel,  Data  Dictionar(Kamus  Data),  Struktur  File Database

Contoh ERD:

Contoh struktur tabel:


Des
ain Input Output

Desain Input

Masukan  sisteharus dirancang  secara rinci mulai perangkat yang akan digunakan sampai dengan desain yang digunakan keren jika   desai masuka kurang   lengka maka   akan berdampak informasi yang dihasilkan data yang disimpan atau informasi yang dihasilkan juga tidak sesuai dengan kebutuhan sistem.

Tujuan dari desain input adalah :

  • Untuk mengefektifkan biaya pemasukan.
  • Untuk mencapai keakuratan system yang tinggi.
  • Menjamin pemasukkan data yang dapat diterima dan dimengerti   oleh pemakai.

Dalam mendesain input ada beberapa tipe input yaitu :

Eksterna : Pemasukan data berasal dari luar organisasi

Internal     : Pemasukkan data berasal dari dalam organisasi

Contoh desain input login admin:

Desain Output

Desain output keluaran merupakan  hasil yang tidak diabaikan karena  keluaran  yang  dihasilkan harus  memuadahkan  bagian setiap unsur manusia yang memerlukan :

Eksternal    : Pemasukan data berasal dari luar organisasi

Internal      : Pemasukkan data berasal dari dalam organisasi

Contoh desain output:


Selection Sistem

Menyeleksi  atau memiliteknologi  untuk sistem informasi merupakan tuga yang   tida mudah.   Tahap   seleks siste (syste selection) merupakan  tahap  untuk  memilih  perangkat  keras  dan  perangkat  lunak untuk sistem informasi (Jogianto, 2005)

Implementasi Sistem

Implementasi  sisteadalah  merupakan  tahap  meletakkan  atau menerapkan  sistem  supaya  sistem  tersebut  siap  untuk  dioperasikan. Tahap ini juga meletakkan kegiatan pengkodean program jika tidak digunakan paket perangkat lunak aplikasi.

Perawatan Sistem

Face ini merupakan fase perawatan terhadap sistem yang telah dikembangkan  dan diimplementasikan.  Cakupan face ini berupa proses perawatan terhadap sistem yang berkaitan dengan perawatan berkala dari sistem maupun proses terhadap perbaikan sistem manakala sistem menghadapi  kendala  dalam  operasionalnya  akibat  masalah  teknis  dan non teknis  yang tidak terindikasi  dalam  proses  pengembangan  sistem. Prose maintenanc ini   jug meliput upaya-upay pengembangan terhadap  sistem  yang  telah  dikembangkan  sebelumnya  dalam menghadapi mengantisipasi perkembangan maupun perubahan sistem bersangkutan.

Beberapa aplikasi yang bisa digunakan untuk membuat Flowchart, DFD, ERD, dan UML

  • yEd-Graph Editor
  • Dia
  • Pencil
  • Ms. Visio
  • Edraw Mind Map
  • Google Drive
  • Diagram Ring
  • Diagram Designer
  • Plant UML

UML (Unified Modeling Language)

UML (Unified Modeling Language) adalah sebuah bahasa yang berdasarkan grafik/gambar untuk memvisualisasi, menspesifikasikan, membangun,  dan  pendokumentasian  dari  sebuah  sistem pengembangan software berbasis OO (Object-Oriented).

UML sendiri juga memberikan  standar penulisan  sebuah sistem blue print, yang meliputi konsep bisnis proses, penulisan kelas-kelas dalam bahasa program yang spesifik, skema database, dan komponen- komponen yang diperlukan dalam sistem software

UML adalah salah satu tool / model untuk merancang pengembangan software yang berbasis object oriented.

UML disebut sebagai bahasa pemodelan bukan metode(metode pemodelan contohnya waterfall, prototype, agile, dan lain-lain). 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.

UML tidak hanya merupakan sebuah bahasa pemograman visual saja, namun juga dapat secara langsung dihubungkan ke berbagai bahasa pemograman,    sepert JAVA,   C++,   Visual   Basic,   atau   bahkan dihubungkan   secara   langsung   ke   dalam   sebuah   object-oriented database. Begitu juga mengenai pendokumentasian dapat dilakukan seperti; requirements, arsitektur, design, source code, project plan, tests, dan prototypes.

Sejarah Singkat UML

Secara resmi UML (Unified Modelling Language) dimulai pada bulan Oktober 1994, ketika Rumbaugh bergabubg dengan Booch untuk membuat sebuah projek pendekatan metoda yang seragam dari masing-masing metoda mereka. Saat itu baru dikembangkan draft metoda UML version  0.8 dan diselesaikan serta di release pada bulan oktober 1995. Bersamaan dengan saat itu, Jacobson bergabung dan UML tersebut diperkaya ruang lingkupnya dengan metoda OOSE (Object-Oriented Software Engineering) sehingga muncul release  version 0.9 pada  bulan Juni 1996. Hingga saat ini sejak Juni 1998 UML version 1.3 telah diperkaya dan direspons oleh OMG (Object Management Group), Anderson Consulting, Ericsson, Platinum Technology, ObjectTime Limited, dll serta di pelihara oleh OMG yang dipimpin oleh Cris Kobryn. UML adalah standar dunia yang dibuat oleh Object Management Group (OMG), sebuah badan yang bertugas mengeluarkan standar-standar teknologi object-oriented dan software component.

Untuk dapat memahami UML membutuhkan bentuk konsep dari sebuah bahasa model, dan mempelajari 3 (tiga) elemen utama dari UML seperti building  block,  aturan-aturan  yang  menyatakan  bagaimana  building block diletakkan secara bersamaan, dan beberapa mekanisme umum (common).


Untuk dapat memahami UML membutuhkan bentuk konsep dari sebuah bahasa model, dan mempelajari 3 (tiga) elemen utama dari UML seperti building  block,  aturan-aturan  yang  menyatakan  bagaimana  building block diletakkan secara bersamaan, dan beberapa mekanisme umum (common).

Untuk dapat memahami UML membutuhkan bentuk konsep dari sebuah bahasa model, dan mempelajari 3 (tiga) elemen utama dari UML seperti building  block,  aturan-aturan  yang  menyatakan  bagaimana  building block diletakkan secara bersamaan, dan beberapa mekanisme umum (common).

Building block

Tiga macam yang terdapat dalam building block adalah : Benda/Things, adalah abstraksi yang pertama dalam sebuah model Hubungan/Relationships, sebagai alat komunikasi dari benda-benda, Bagan/Diagrams. sebagai kumpulan / group dari benda-benda/things. Benda/Things

adalah hal yang sangat mendasar dalam model UML, juga merupakan bagian paling statik dari sebuah model, serta menjelaskan elemen- elemen lainnya dari sebuah konsep dan atau fisik.

Bentuk dari beberapa benda/thing adalah sebagai berikut:

ü Classes,  yang  diuraikan  sebagai  sekelompok  dari  object  yang mempunyai atribute, operasi, hubungan  yang semantik. Sebuah kelas mengimplementasikan 1 atau lebih interfaces. Sebuah kelas dapat        digambarka sebagai   sebua persegi   panjang,   yang mempunyai  sebuah nama,  atribute,  dan  metoda pengoperasiannya.


ü Interfaces, merupakan sebuah antar-muka yang menghubungkan dan melayani antar kelas dan atau elemen. Interface’ / antar-muka mendefinisikan sebuah set / kelompok dari spesifikasi pengoperasian, umumnya digambarkan dengan sebuah lingkaran yang disertai dengan namanya. Sebuah antar-muka berdiri sendiri dan umumnya merupakan pelengkap dari kelas atau komponen.

ü Collaboration,  yang  didefinisikan  dengan  interaksi  dan  sebuah kumpulan   /   kelompok   dari   kelas-kelas/elemen-elemen   yang bekerja secara bersama-sama. Collaborations mempunyai struktur dan        dimensi.     Pemberian     sebuah     kelas     memungkinkan berpartisipasi didalam beberapa collaborations dan digambarkan dengan sebuah elips’ dengan garis terpotong-potong.

ü Use  cases,  adalah  rangkaian/uraian  sekelompok  yang  saling terkait dan membentuk sistem secara teratur yang dilakukan atau diawas oleh   sebuah   aktor use   case’   digunakan    untuk membentuk tingkah-laku benda/ things dalam sebuah model serta di realisasikan  oleh  sebuah  collaboration.  Umumnya  ‘use  case’ digambarkan  dengan  sebuah  elips dengan  garis  yang  solid, biasanya mengandung nama.


ü Nodes, merupakan fisik dari elemen-elemen yang ada pada saat dijalankannya  sebuah  sistem,  contohnya  adalaha  sebuah komputer,  umumnya  mempunyai  sedikitnya  memory  dan processor. Sekelompok komponen mungkin terletak pada sebuah node dan juga mungkin akan berpindah dari node satu ke node lainnya.  Umumnya  node  ini  digambarkan  seperti  kubus  serta hanya mengandung namanya.

Hubungan / Relationship

Ada 4 macam hubungan didalam penggunaan UML, yaitu;

ü Dependency, adalah hubungan semantik antara dua benda/things yang mana sebuah benda berubah mengakibatkan benda satunya akan berubah pula. Umumnya sebuah dependency digambarkan sebuah panah dengan garis terputus-putus.

ü Association,  hubungan  antar  benda  struktural  yang  terhubung diantara obyek. Kesatuan obyek yang terhubung merupakan hubungan    khusus,   yang   menggambarkan   sebuah   hubungan struktural diantara seluruh atau sebagian. Umumnya assosiation digambarkan   dengan   sebuah   gari yang   dilengkap dengan sebuah label, nama, dan status hubungannya.



ü Generalizations,   adalah   menggambarkan   hubungan   khusus dalam obyek anak/child yang menggantikan obyek parent / induk . Dalam hal ini, obyek anak memberikan pengaruhnya dalam hal struktur dan tingkah lakunya kepada obyek induk. Digambarkan dengan garis panah.

ü Realization adalah hubungan semantik antara pengelompokan yang menjaminadanya ikatan diantaranya. Hubungan ini dapat diwujudkan diantara interface dan kelas atau elements serta antara use case dan collaboration. Model dari hubungan realization digambarkan garis panah yang putus-putus tidak sama

DIAGRAM

Diagram berbentuk grafik yang menunjukkan simbol elemen model yang disusun untuk mengilustrasikan bagian atau aspek tertentu dari sistem. Sebuah diagram merupakan bagian dari suatu view tertentu dan ketika digambarkan biasanya dialokasikan untuk view tertentu. Adapun jenis diagram antara lain :

Use Case Diagram Menggambarkan sejumlah external actors dan hubungannya ke use case yang diberikan oleh sistem. Use case adalah deskripsi fungsi yang disediakan oleh sistem dalam bentuk teks sebagai dokumentasi dari use case symbol namun dapat juga dilakukan dalam activity diagrams. Use case digambarkan hanya yang dilihat dari luar oleh actor (keadaan lingkungan sistem yang dilihat user) dan bukan bagaimana fungsi yang ada di dalam sistem.

Class Diagram Menggambarkan struktur statis class di dalam sistem. Class merepresentasikan sesuatu yang ditangani oleh sistem. Class dapat berhubungan dengan yang lain melalui berbagai cara: associated (terhubung satu sama lain), dependent (satu class tergantung/menggunakan class yang lain), specialed (satu class merupakan spesialisasi dari class lainnya), atau package (grup bersama sebagai satu unit). Sebuah sistem biasanya mempunyai beberapa class diagram.

State Diagram Menggambarkan semua state (kondisi) yang dimiliki oleh suatu object dari suatu class dan keadaan yang menyebabkan state berubah. Kejadian dapat berupa object lain yang mengirim pesan. State class tidak digambarkan untuk semua class, hanya yang mempunyai sejumlah state yang terdefinisi dengan baik dan kondisi class berubah oleh state yang berbeda.

Sequence Diagram Menggambarkan kolaborasi dinamis antara sejumlah object. Kegunaanya untuk menunjukkan rangkaian pesan yang dikirim antara object juga interaksi antara object, sesuatu yang terjadi pada titik tertentu dalam eksekusi sistem. 

Collaboration Diagram Menggambarkan kolaborasi dinamis seperti sequence diagrams. Dalam menunjukkan pertukaran pesan, collaboration diagrams menggambarkan object dan hubungannya (mengacu ke konteks). Jika penekannya pada waktu atau urutan gunakan sequence diagrams, tapi jika penekanannya pada konteks gunakan collaboration diagram.

Activity Diagram Menggambarkan rangkaian aliran dari aktivitas, digunakan untuk mendeskripsikan aktifitas yang dibentuk dalam suatu operasi sehingga dapat juga digunakan untuk aktifitas lainnya seperti use case atau interaksi.

Component Diagram Menggambarkan struktur fisik kode dari komponent. Komponent dapat berupa source code, komponent biner, atau executable component. Sebuah komponent berisi informasi tentang logic class atau class yang diimplementasikan sehingga membuat pemetaan dari logical view ke component view.

Deployment Diagram Menggambarkan arsitektur fisik dari perangkat keras dan perangkat lunak sistem, menunjukkan hubungan komputer dengan perangkat (nodes) satu sama lain dan jenis hubungannya. Di dalam nodes, executeable component dan object yang dialokasikan untuk memperlihatkan unit perangkat lunak yang dieksekusi oleh node tertentu dan ketergantungan komponen.

Contoh Use Case Diagram Reservasi Hotel

Skenario Use Case:

1.    Nama Use Case       :  Reservasi

  •  Actor_Konsumen, Receptionist
  • Deskripsi_Meliputi   prose yan menggambarkan prosedur pemesanan kamaantara tamu dengan receptionist yang dilakukan secara langsung di hotel
  • Tujuan_Pemesanan Kamar

Tabel skenario Use Case:

2.    Nama Use Case : Check-in

  • Actor _Konsumen, Receptionist
  • Deskripsi_Meliputi proseyanmenggambarkan proseducheck-in yandilakukan oleh               tamu dengan front office di hotel.
  • Tujuan_Penyewaan (check-in)        

  3.    Nama Use Case       :  Check-out

  • Actor_Konsumen, Receptionist
  • Deskripsi_Meliputi    proses    pembayarayang dilakukan oleh tamu smemakai jasa penginapan dan jasa laundry sesuai waktu/lama hari
  • Tujuan_Penyelesaian penyewaan kamar


Contoh Activity Diagram

 Berikut dokumentasi  alur kerja pada sistem yang sedang berjalan yang bertujuan untuk melihat alur   proses sistem yang sedang berjalan

 

1.     Activity  Diagram  Sistem  Pemesanan   Kamar  Yang  SedanBerjalan

2.     Activity Diagram Prosedur Check-in Yang Sedang Berjalan

 


3.     Activity Diagram Prosedur Check-out Yang Sedang Berjalan


Sumber:

https://www.codepolitan.com/unified-modeling-language-uml

https://blogbugabagi.blogspot.com/



 



Sabtu, 13 Agustus 2022

MATERI PWPB XIIRPL_3

Kompetensi Dasar:

3.20     Mengevaluasi pengamanan data pada aplikasi web

4.20   Merevisi pengamanan data pada aplikasi web

PENGAMANAN DATA PADA APLIKASI WEB

Membangun sistem keamanan website cukup penting dilakukan agar meminimalkan resiko serangan terhadap server atau bahkan dapat dicegah. Faktor yang perlu diperhatikan dalam mencegah serangan serangan melalui web diantaranya perangkat keras, system operasi, aplikasi berbasis web, dan fisik tempat penyimpanan server. Hal ini dapat mencegah adanya cyberchrime(kejahatan dunia maya) seperti pencurian data atau informasi dari server data melalui aplikasi berbasis web. Contoh pencurian username dan password, nomor kartu kredit, atau perusakan database server dengan serangan Denial of Service.

Pengamanan pada aplikasi web merupakan hal mutlak yang harus diperhatikan dalam pembuatan aplikasi. Menurut Open Web Application Security Project(OWASP) ada beberapa celah keamanan aplikasi web dan rekomendasi penanganannya seperti injection, referensi objek secara langsung yang tidak aman, kerusakan manajemen autentikasidan sesi, Cross Site Scripting(XSS), pembeberan data sensitive, hilangnya fungsi level access control, penyimpanan yang tidak aman, manajemen konfigurasi yang tidak aman, dan tidak tervalidasinya proses redirect dan forwards.

Kriptografi  merupakan ilmu dan seni penyimpanan pesan, data, atau informasi secara aman. Criptoanalysis adalah aksi untuk memecahkan mekanisme kriptografi dengan cara mendapatkan plaintext atau kunci dari chipertext.

6 Fungsi Enkripsi di PHP untuk Mengamankan Data

Enkripsi adalah teknik untuk mengamankan data-data tersebut agar isinya tidak diketahui orang lain. Enkripsi biasanya dilakukan terhadap data -data sensitif seperti password.

1. Fungsi password_hash()

Fungsi  password_hash() ini  akan  menghasilkan  sebuah  kode hash baru  dengan  metode one-way hashing. one-way hasing artinya, hasil enkripsinya tidak bisa dikembalikan seperti semula (decrypt/decode). Fungsi ini sangat disarankan untuk mengenkripsi password, karena sulit didekripsi atau di-crack.

Contoh penggunaan:

Sebelum menyimpan password ke database, sebaiknya dienkripsi terlebih dahulu:

<?php

$username = $_POST['username'];

// enkripsi dulu...

$password = password_hash($_POST['username'], PASSWORD_DEFAULT);

// query simpan

mysqli_query("INSERT INTO user (username, password) VALUE ('$username','$password')");

?>

Fungsi passowrd_hash() ini   tidak   bisa   bekerja   sendirian,   dia   memiliki   teman bernama password_verify().Fungsi password_verify(),   biasanya   digunakaan   saat membuat login untuk membandingkan password yang dikirim user dengan password yang tersimpan pada database.

Contoh:

<?php

// ambil data dari form login

 $username = $_POST['username']; //<-- ini belum aman dari sql injection :D

// ambil data dari database

$query = mysqli_query("SELECT * FROM user WHERE username='$username'");

$user = mysqli_fetch_assoc($query);

// bandingkan password yang dikirim dari form login dengan password

// yang ada di database

if( password_verify($_POST['password'], $user['password']) ) {

// login berhasil

} else {

// login gagal

}

?>

Tips: bila ingin menyimpan hasil dari fungsi password_hash() di database, pastikan bertipe VARCHAR dengan panjang 255 karakter.

2. Fungsi crypt()

Fungsi ini menghasilkan kode hash dengan menggunakan algoritma DES, Blowfish, dan MD5.

Contoh:

<?php echo crypt("petanikode", "garam"); ?> Hasilnya: gabeK4a28MgJs

Bila diperhatikan, susuan karakter yang dihasilkan mirip seperti karakter yang digunakan pada alamat URL video youtube.Mungkin saja youtube juga menggunakan algoritma yang sama dengan fungsi ini. Pada contoh diatas, diberikan dua parameter kepada fungsinya. Parameter pertama adalah teks yang akan dienkripsi. Sementara, parameter   kedua   adalah salt (garam).   Garam adalah   sebuah   data   acak   yang dimasukkan ke dalam fungsi enkripsi.

Fungsi ini juga dapat digunakan untuk mengamankan password, karen a sulit di- decode.

3. Fungsi md5()

Fungsi ini akan menghasilkan kode hash sepanjang 32 karakter.

<?php echo md5("petanikode"); ?> Hasilnya:

37ebda33c177743169404948552319df

Bila ditambahkan garam, hasilnya akan berubah. Contoh:

<?php echo md5("petanikode", "g4r4m"); ?> Hasilnya: 7��3�wt1i@IHU#�

Fungsi ini juga dapat digunakan untuk mengamankan password. Akan tetapi, kalau kita perhatikan kecepatan komputer zaman sekarang… Sangat mungkin untuk melakukan decrypt.

4. Fungsi hash()

Fungsi ini akan menciptkan sebuah kode hash dengan algoritma tertentu.

 Contoh:

<?php echo hash("md5", "petanikode"); ?> Hasilnya: 37ebda33c177743169404948552319df

Pada contoh di atas, parameter "md5" adalah nama algortima yang akan digunakan untuk mengenkripsi. Parameter "petanikode" adalah teks yang akan dienkripsi.

Bila ingin mengetahui nama-nama algoritma yang bisa digunakan, silahkan coba eksekusi kode ini:

<?php

$data = "hello";

foreach (hash_algos() as $v) {

$r = hash($v, $data, false);

printf("%-12s %3d %s\n", $v, strlen($r), $r);

}

?>

5. Fungsi sha1()

Fungsi  ini  akan  menghasilkan  kode hash sepanjang  40  karakter.  Mirip  seperti fungsi md5().

Contoh:

<?php echo sha1("petanikode"); ?> Hasilnya: 2e71f75dee7cb3e4b8e2e6ef8b8b5e0eab8f78a2

Seperti halnya fungsi md5(), fungsi ini juga akan menciptakan karakter aneh, bila ditambahkan garam.

Contoh:

<?php echo sha1("petanikode", "ga12am"); ?> Hasilnya: .q�]�|�����  ^��

6. Fungsi base64_encode()

Fungsi  ini  akan  menghasilkan  kode hash dari  teks  yang  diinputkan  dan  bisa dikembalikan ke bentuk semula dengan fungsi base64_decode().

Metode ini disebut two-way hasing. Contoh:

<?php echo base64_encode("Petani kode"); ?> Hasilnya: UGV0YW5pIGtvZGU=

Sementara  itu,  untuk  mengembalikan (decrypt) atau decode dapat   menggunakan fungsi base64_decode().

Contoh:

 <?php echo base64_decode("UGV0YW5pIGtvZGU="); ?> Hasilnya: Petani kode

Enkripsi dengan base64 tidak cocok digunakan untuk mengenkripsi password, karena sangat mudah di-decode.

Dari keenam fungsi enkripsi di PHP untuk mengamankan data di atas setiap fungsi memiliki   algoritmanya   masing-masing.   Gunakan   fungsi   yang   menggunakan metode one-way   hasing untuk   melindungi   password.   Tapi,   perlu   diselidiki dulu…apakah fungsi tersebut masih aman atau tidak?

Sedangkan  untuk  fungsi  yang  menggunakan  metode two-way  hasing,  sangat  tidak disarankan  untuk  melindungi  password,  karena  memiliki  fungsi  untuk decode atau mengembalikannya dari bentuk hash menjadi plain text.

CONTOH PENERAPAN PENGAMANAN DATA PADA APLIKASI WEB

Buat file index.php, kemudian isikan sintaks berikut:








Kegiatan Belajar:

1. Buatlah minimal 3 contoh penerapan pengamanan data pada aplikasi web!

2. Masukkan hasil pekerjaan ke dalam Laporan Kegiatan Belajar (sintaks dan output) kemudian unggah ke assignment pada Ms. Teams!


Sumber:

Wijayanti Hanifah. 2019. Pemrograman Web Dan Perangkat Bergerak XII. Surakarta: Putra

Nugraha

Muhardian   Ahmad.   2015.   6   Fungsi   Enkripsi   di   PHP Untuk   Mengamankan   Data.

Petanikode.com

 

MATERI PWPB XIIRPL_2

Kompetensi Dasar:

3.19    Menerapkan aplikasi web statefull

4.19  Membuat aplikasi web statefull

      

APLIKASI WEB STATEFULL

PENGERTIAN

Stateless: dimana satu permintaan saling independen terhadap permintaan lainnya, tidak ada state(keadaan) yang dipertahankan.

Statefull: kemampuan situs untuk mempertahankan state.

Aplikasi web statefull: aplikasi dimana informasi yang diberikan sebelumnya disimpan dan mempengaruhi konten/informasi/data yang akan diberikan setelahnya.

Website biasanya menggunakan protokol HTTP yang bersifat stateless, interaksi antara request-response satu dengan request-response lainnya bersifat independent/tidak saling berkaitan. Server HTTP tidak mengingat apa yang terjadi pada interaksi request-response yang terjadi, tidak menyimpan state yang berhubungan dengan client. Sistem memberikan respon kepada user dengan langsung memberikan halaman baru.

Dengan interaksi statefull, sebuah website dapat menyimpan keadaan user walaupun komunikasi data pada jaringan tetap menggunakan HTTP.

CIRI-CIRI WEB STATEFULL

  1. Cookies Data yang menyimpan informasi.
  2. Session Menyimpan informasi tentang preferensi yang kita berikan, membuat suatu sesi yang unik untuk kita.
  3. Cache Suatu mekanisme dimana web document seperti HTML dan gambar disimpan sementara untuk mengurangi
  4. pemakaian bandwitd dan mempercepat loading.

 SESSION

Session merupakan hal yang cukup penting dalam aplikasi berbasis web. Dengan session memungkinkan programmer menyimpan informasi user secara semi-permanen, artinya selama masa tertentu informasi akan tersimpan. Penyimpanan isi variabel session berada di server, jadi tidak bisa diakses secara langsung oleh client.

Dalam aplikasi berbasis web, session banyak digunakan sebagai autentifikasi login. Dengan session memungkinkan programmer mengatur siapa saja yang bisa mengakses suatu halaman. Misalnya saja, untuk melihat halaman kotak surat pada email, kita harus login terlebih dahulu. Dalam proses login antara lain akan terjadi pembuatan suatu session yang akan dibawa oleh user di setiap halaman. Di halaman kotak surat, session tersebut akan diperiksa. Jika session benar maka user dipersilahkan membuka halaman kotak surat, namun jika salah maka user tidak bisa membuka halaman kotak surat dan biasanya akan diminta untuk login terlebih dahulu. Itulah sebabnya, user tidak bisa mengakses
halaman kotak surat secara langsung tanpa melakukan login.

Dalam penanganan session terdapat beberapa proses yang perlu diperhatikan :

  • Proses pembuatan session
  • Proses pemeriksaan session
  • Proses penghapusan session

Bagaimana session itu sendiri dijalankan? Agar proses penyimpanan dalam session berjalan, PHP melakukan beberapa hal berikut ini :

  • PHP meng-generate (membentuk) sebuah ID session.
  • ID session ini merupakan sejumlah deret angka random yang unik untuk  setiap user dan hampir tidak mungkin bisa ditebak. ID session disimpan oleh PHP di dalam variabel sistem PHP dengan nama PHPSESSID
  • PHP menyimpan nilai yang akan Anda simpan dalam session di dalam file
  • yang berada di server.
  • Nama file tempat penyimpanan session tersebut sesuai (sama) dengan ID session. File disimpan dalam suatu direktori yang ditunjukkan oleh session.save_path dalam file konfigurasi php.ini.
  • PHP melempar ID session ke setiap halaman.
  • PHP mengambil nilai session dari file session untuk setiap halaman session.

. Fungsi-fungsi dalam membangun session:

  1. session_start( ), untuk memulai session
  2. session_destroy( ), untuk mengakhiri session
  3. session_id( ), untuk mengambil atau menentukan identitas dari sebuah session
  4. session_register( ), untuk mendaftarkan variabel ke sebuah session

Contoh Penerapan Session

1. Buat file s1.php, s2.php, dan s3.php

2. Tulis sintaks berikut:



















3. Akses file melalui localhost sehingga menghasilkan tampilan seperti gambar-gambar berikut:





 





 















CookieS

Merupakan sepotong data yang disimpan pada hardisk lokal milik pengunjung dan digunakan oleh halaman web dalam mengingat sesuatu informasi.

Cookies dapat digunakan untuk:

  • Menyimpan nama pengunjung
  • Merekam daftar barang yang ingin dibeli pengunjung
  • Menimpan pilihan-pilihan yang diatur oleh pengunjung
  • Menciptakan suatu sesi yang memungkinkan seseorang dapat masuk ke halaman-halaman lain tanpa perlu login kembali

JENIS COOKIES

  • Session Cookies
         Jenis cookies ini berlangsung selama sementara. Hal ini berarti cookies akan terhapus setelah kamu menutup suatu situs
  • Persistent Cookies
         cookies yang disimpan pada harddrive secara permanen hingga kamu perlu menghapusnya secara manual
  • Third-Party Cookies
          ada pihak ketiga yang menempatkan cookie di suatu situs untuk tujuan tertentu. Biasanya 
         hal ini demi kebutuhan iklan.

cara kerja

Web server mengirim cookies ke client melalui judul HTTP, yang dikirim sebelum teks HTML. Melalui judul inilah klien bisa mengetahui apakah ia perlu mengirim cookies yang ada pada hardisk local ke web server atau tidak. Seperti halnya web server, klien mengirim balik cookie ke web server melalui judul HTTP.

Di dalam judul HTTP cookie diatur melalui set-cookie( ) yang di dalamnya terdapat informasi nama cookie dan nilainya, batas kadaluarsa, path, domain, dan parameter keamanan. Informasi nama variabel dan nilai:

Informasi

Keterangan

Path

Digabungkan dengan domain, nilai path menentukan folder pada web server yang dapat menggunakan cookie. Jika informasi path dan URL yang diminta tidak cocok maka klien  tidak akan mengirim cookie. Nilai bawaan path berupa “/” yang berarti bahwa cookie valid untuk semua folder pada web server

Domain

Menyatakan domain(alamat) server yang mendefinisikan cookie. Klien tidak akan mengirimkan cookie kalua tidak cocok dengan domain ini. Salah satu pemanfaatannya adalah untuk berbagi cookie pada beberapa server. Misalnya bila domain berisi “*situs.com” maka cookie akan dikenali baik pada situs www1.situs.com maupun www2.situs.com

Expires

Menyatakan batas waktu kadaluarsa. Bawaanya cookie hanya berlaku sampai browser tertutup

Secure

Untuk menentukan pengiriman cookie ahnya kalua protocol HTTPS(HTTP yang aman) digunakan

 Contoh Penerapan Cookie

1. Buat file c1.php, c2.php, dan c3.php

2. Tulis sintaks berikut:







Pada sintaks program di atas terdapat 2 buah cookie yang diciptakan yaitu cookie dengan nama “namapengguna” dan “namalengkap”. Pada baris ke 6 dan 7, untuk menciptakan cookie baru, digunakan fungsi setcookie(). Parameter pertama fungsi adalah nama cookie dan parameter kedua adalah nilainya. Kita juga dapat menambahkan parameter waktu cookie akan expired atau terhapus.










Pada sintaks program di atas merupakan contoh program pemeriksaan keberadaan cookie. Cookie di PHP tersimpan dalam predefined variabel $_COOKIE. untuk memeriksa keberadaannya, dapat digunakan fungsi isset()






Pada sintaks program di atas merupakan contoh program sederhana untuk menghapus variabel cookie. Pada dasarnya untuk menghapus cookie, dilakukan dengan membuat cookie tersebut expired.

3. Akses file melalui localhost sehingga menghasilkan tampilan seperti gambar-gambar berikut:















Kegiatan Belajar:

1. Praktikan contoh penerapan session dan cookie di atas!

2. Buat Laporan Kegiatan Belajar (sintaks dan output) kemudian unggah ke assignment pada Ms. teams!


Sumber:

Wijayanti Hanifah. 2019. Pemrograman Web Dan Perangkat Bergerak XII. Surakarta: Putra

Nugraha