Minggu, 20 November 2011

Tugas Ilmu Sosial Dasar (3)


Nama               :     Dana Kristiawan
NPM               :     11111703
Kelas               :     1KA27
Uraian             :     Tugas 3 Ilmu Sosial Dasar


PEMROGRAMAN SISTEM TERSTRUKTUR

Ide Pemrograman terstruktur
Orang pertama yang mencetuskan ide pemrograman terstruktur adalah Profesor   Edsger W. Dijkstra dari University of Eindhoven, Nederland. Ide utamanya adalah bahwa statemen GOTO sebaiknya tidak digunakan di dalam pemrograman terstruktur, sebab bisa membuat program menjadi ruwet.
Ide ini ditanggapi oleh HD Milis, yang beranggapan bahwa pemrograman terstruktur semestinya tidak hanya dihubungkan dengan tanpa penggunaan GOTO, tetapi yang lebih utama adalah struktur program itulah yang menentukan apakah suatu pemrograman terstruktur atau tidak.
Ide pemrograman terstruktur muncul karena jumlah baris program semakin lama semakin besar, tentu saja hal ini terjadi karena diinginkan aplikasi yang lengkap dan lebih berkualitas
Dengan ide pemrograman terstruktur diharapkan dapat membantu manajemen source code (kode program) sehingga program mudah untuk dikelola bagi kepentingan selanjutnya
Tujuan utama pemrograman terstruktur adalah : agar program-program besar menjadi lebih mudah ditelusuri alur logikanya, mudah untuk dimodifikasi (dikembangkan) dan mudah pula untuk ditemukan bagian yang salah ketika program sedang diuji.
Kriteria pemrograman terstruktur :
-          Struktur programnya; jelas dan tegas
-          Fasilitas penulisan kode program; jelas dan tegas
-          Statemen untuk kebutuhan Selection dan Looping; lengkap
-          Fasilitas menyatakan berbagai type data (struktur data); lengkap dan tegas
-          Fasilitas pemberian komentar; lengkap
-          Fasilitas instruksi yang tersedia (operasi arithmatik/matematik, string, …); lengkap
-          Fasilitas modular (baik internal maupun eksternal); lengkap
Fasilitas debugging, mudah dan jelas.

Metoda dasar pemrograman terstruktur
Ide awal penerapan pemrograman terstruktur yaitu dengan menghindari penggunaan GOTO untuk melompat ke bagian program tertentu
Kegunaan GOTO untuk melompat ke baris program tertentu, secara umum dapat dibagi ke dalam 2 kelompok :
    1. Melompat ke bagian bawah program dari posisi program saat ini
    2. Melompat ke bagian atas program dari posisi program saat ini
Dengan pemrograman terstruktur;
Jika ada kebutuhan melompat ke bagian bawah, dapat digantikan dengan perintah Selection (If, Case, Select, Switch,…)
Jika ada kebutuhan melompat ke bagian atas, dapat digantikan dengan perintah Looping (for, While, repeat-until,…)
Prinsip utamanya adalah, program tidak boleh melompat ke atas, kecuali untuk keperluan pengulangan
Untuk itu dalam pemrograman terstruktur hanya dikenal 3 struktur :
    1. Sekuensial, yaitu program yang tidak memiliki lompatan. Baris program dijalankan secara normal (lurus) satu per-satu dari atas ke bawah
    2. Selection, yaitu program yang memiliki pilihan apakah harus menjalankan baris program sesuai dengan urutannya atau melompati sejumlah baris program tersebut
    3. Looping, yaitu program yang juga mengandung pilihan apakah akan mengulangi program yang sudah pernah dijalankan sebelumnya atau tidak
Sourece : Herianto CopyRight@2004

Istilah Pemrograman terstruktur

Istilah Pemrograman Terstruktur (Structured Programming) mengacu dari suatu kumpulan tehnik yang dikemukan oleh Edsger Dijkstra. Dengan tehnik ini akan meningkatkan produktifitas programmer, dengan mengurangi waktu yang dibutuhkan dalam penulisan (write), pengujian (test), penelusuran kesalahan (debug) dan pemeliharan (maintain) suatu program.
Salah satu pendekatan yang biasa digunakan dalam pemrograman terstruktur adalah pendekatan yang dilakukan secara modular, dengan pendekatan ini suatu program akan dipilah kedalam sejumlah modul, masing-masing modul akan mempunyai fungsi khusus sesuai dengan ruang lingkup yang akan dikerjakan. Dengan adanya pemilahan tersebut, maka kesalahan akan dapat diminimalisir. Selanjutnya masing-masing modul tersebut akan dipanggil dari program utama agar menjadi sebuah program yang utuh.
Pemrograman secara modular ini dapat diimplementasikan dengan penggunaan subroutine, suatu kelompok instruksi yang menjalankan suatu pengolahan yang sifatnya terbatas seperti pencetakan, pembacaan, untuk proses input atau untuk proses penghitungan.
proses_subroutine1
Subroutine dapat dibedakan menjadi 2 yaitu:
1.  Internal Subroutine, adalah subroutine yang dibuat hanya untuk digunakan oleh program tersebut. Sehingga untuk sejumlah proses yang sama dalam program tersebut akan dilakukan oleh subroutine tersebut. Program akan memanggil subroutines tersebut jika diperlukan dan apabila telah selesai, kontrol selanjutnya dikembalikan ke instruksi berikutnya. Instruksi yang mengendalikan kontrol transfer ke suatu subroutine umumnya dikenal sebagai call dan return.
2.  External Subroutines, adalah subroutine yang diletakkan secara terpisah dari program yang menggunakan subroutine tersebut. Subroutine seperti ini dideklarasikan agar dapat dipakai oleh program yang lain. Untuk menggunakannya harus diketahui dimana ? , apa namanya ?, bagaimana pengiriman datanya ?, serta bagaimana hasil yang akan diperoleh ?. Subroutine ini biasanya digunakan untuk pemrosesan yang kompleks dan dibutuhkan oleh banyak user.
Tehnik Pemrograman
Agar program yang dibuat dalam program utama maupun subroutine dapat lebih mudah dimengerti, maka dalam pemrograman terstruktur diperkenalkan tiga bentuk tehnik pemrograman, yaitu:
1. Sequence Structure
Dalam sequence structure, instruksi dieksekusi berdasarkan urutannya. Dimulai dari bagian atas dan diakhiri di bagian bawahnya.  Bujur sangkar dapat menggambarkan operasi :
- Input dan Output
- Operasi aritmatika
- Operasi pemindahan data dalam memori komputer
Dalam sequence structure tidak diperkenankan penggunaan kotak keputusan.
sequence_structure
2. Loop Structure
Loop (iteration) structure menggambarkan perulangan dari satu atau lebih instruksi.
loop_structure
3. Selection Structure
Dalam struktur ini terdapat sejumlah perintah yang dikerjakan tergantung dari kondisi yang dipenuhinya. Seperti juga dengan sequence dan dan loop structure, terdapat single entry point dan single exit point.
selection_structure

Data Flow Diagram
Rekayasa Perangkat Lunak : Data Flow Diagram | DFD-Data Flow Diagram (DFD) adalah representasi grafik dari sebuah sistem. DFD menggambarkan komponen-komponen sebuah sistem, aliran-aliran data di mana komponen-komponen tersebut, dan asal, tujuan, dan penyimpanan dari data tersebut.
Ada 3 (tiga) jenis DFD, yaitu ;
- Context Diagram (CD)
- DFD Fisik
- DFD Logis

DFD Level
DFD dapat digambarkan dalam Diagram Context dan Level n. Huruf n dapat menggambarkan level dan proses di setiap lingkaran.
- Diagram Context
- Diagram Level n
- DFD Logis
- DFD Fisik

Context Diagram (CD)
Jenis pertama Context Diagram, adalah data flow diagram tingkat atas (DFD Top Level), yaitu diagram yang paling tidak detail, dari sebuah sistem informasi yang menggambarkan aliran-aliran data ke dalam dan ke luar sistem dan ke dalam dan ke luar entitas-entitas eksternal. (CD menggambarkan sistem dalam satu lingkaran dan hubungan dengan entitas luar. Lingkaran tersebut menggambarkan keseluruhan proses dalam sistem).
Beberapa hal yang harus diperhatikan dalam menggambar CD;
- Terminologi sistem :
- Batas Sistem adalah batas antara “daerah kepentingan sistem”.
- Lingkungan Sistem adalah segala sesuatu yang berhubungan atau mempengaruhi sistem tersebut.
- Interface adalah aliran yang menghubungkan sebuah sistem dengan linkungan sistem tersebut.
- Menggunakan satu simbol proses,
Catatan:
Yang masuk didalam lingkaran konteks (simbol proses) adalah kegiatan pemrosesan informasi (Batas Sistem). Kegiatan informasi adalah mengambil data dari file, mentransformasikan data, atau melakukan filing data, misalnya mempersiapkan dokumen, memasukkan, memeriksa, mengklasifikasi, mengatur, menyortir, menghitung, meringkas data, dan melakukan filing data (baik yang melakukan secara manual maupun yang dilakukan secara terotomasi).
- Nama/keterangan di simbol proses tersebut sesuai dengan fungsi sistem tersebut,
- Antara Entitas Eksternal/Terminator tidak diperbolehkan komunikasi langsung
- Jika terdapat termintor yang mempunyai banyak masukan dan keluaran, diperbolehkan untuk digambarkan lebih dari satu sehingga mencegah penggambaran yang terlalu rumit, dengan memberikan tanda asterik ( * ) atau garis silang ( # ).
- Jika Terminator mewakili individu (personil) sebaiknya diwakili oleh peran yang dipermainkan personil tersebut.
- Aliran data ke proses dan keluar sebagai output keterangan aliran data berbeda.

Diagram Level n / Data Flow Diagram Levelled
Dalam diagram n DFD dapat digunakan untuk menggambarkan diagram fisik maupun diagram diagram logis. Dimana Diagram Level n merupakan hasil pengembangan dari Context Diagram ke dalam komponen yang lebih detail tersebut disebut dengan top-down partitioning. Jika kita melakukan pengembangan dengan benar, kita akan mendapatkan DFD-DFD yang seimbang. Beberapa hal yang harus diperhatikan dalam membuat DFD ialah:
- Pemberian Nomor pada diagram level n dengan ketentuan sebagai berikut:
• Setiap penurunan ke level yang lebih rendah harus mampu merepresentasikan proses tersebut dalam sepesifikasi proses yang jelas. Sehingga seandainya belum cukup jelas maka seharusnya diturunkan ke level yang lebih rendah.
• Setiap penurunan harus dilakukan hanya jika perlu.
• Tidak semua bagian dari sistem harus diturunkan dengan jumlah level yang sama karena yang kompleks bisa saja diturunkan, dan yang sederhana mungkin tidak perlu diturunkan. Selain itu, karena tidak semua proses dalam level yang sama punya derajat kompleksitas yang sama juga.
• Konfirmasikan DFD yang telah dibuat pada pemakai dengan cara top-down.
• Aliran data yang masuk dan keluar pada suatu proses di level n harus berhubungan dengan aliran data yang masuk dan keluar pada level n+1. Dimana level n+1 tersebut mendefinisikan sub-proses pada level n tersebut.
• Penyimpanan yang muncul pada level n harus didefinisikan kembali pada level n+1, sedangkan penyimpanan yang muncul pada level n tidak harus muncul pada level n-1 karena penyimpanan tersebut bersifat lokal.
• Ketika mulai menurunkan DFD dari level tertinggi, cobalah untuk mengidentifikasi external events dimana sistem harus memberikan respon. External events dalam hal ini berarti suatu kejadian yang berkaitan dengan pengolahan data di luar sistem, dan menyebabkan sistem kita memberikan respon.
- Jangan menghubungkan langsung antara satu penyimpanan dengan penyimpanan lainnya (harus melalui proses).
- Jangan menghubungkan langsung dengan tempat penyimpanan data dengan entitas eksternal / terminator (harus melalui proses), atau sebaliknya.
- Jangan membuat suatu proses menerima input tetapi tidak pernah mengeluarkan output yang disebut dengan istilah “black hole”.
- Jangan membuat suatu tempat penyimpanan menerima input tetapi tidak pernah digunakan untuk proses.
- Jangan membuat suatu hasil proses yang lengkap dengan data yang terbatas yang disebut dengan istilah “magic process”.
- Jika terdapat terminator yang mempunyai banyak masukan dan keluaran, diperbolehkan untuk digambarkan lebih dari satu sehingga mencegah penggambaran

yang terlalu rumit, dengan memberikan tanda asterik ( * ) atau garis silang ( # ), begitu dengan bentuk penyimpanan.
- Aliran data ke proses dan keluar sebagai output keterangan aliran data berbeda.

DFD Fisik
Adalah representasi grafik dari sebuah sistem yang menunjukan entitas-entitas internal dan eksternal dari sistem tersebut, dan aliran-aliran data ke dalam dan keluar dari entitas-entitas tersebut. Entitas-entitas internal adalah personel, tempat (sebuah bagian), atau mesin (misalnya, sebuah komputer) dalam sistem tersebut yang mentransformasikan data. Maka DFD fisik tidak menunjukkan apa yang dilakukan, tetapi menunjukkan dimana, bagaimana, dan oleh siapa proses-proses dalam sebuah sistem dilakukan. (Tidak Bahas).
Perlu diperhatikan didalam memberikan keterangan di lingkaran-lingkaran (simbol proses) dan aliran-aliran data (simbol aliran data) dalam DFD fisik menggunakan label/keterangan dari kata benda untuk menunjukan bagaimana sistem mentransmisikan data antara lingkaran-lingkaran tersebut.
Misal :
Aliran Data : Kas, Formulir 66W, Slip Setoran
Proses : Cleck Penjualan, Kasir, Pembukuan, dll.
DFD Logis
Adalah representasi grafik dari sebuah sistem yang menunjukkan proses-proses dalam sistem tersebut dan aliran-aliran data ke dalam dan ke luar dari proses-proses tersebut. Kita menggunakan DFD logis untuk membuat dokumentasi sebuah sistem informasi karena DFD logis dapat mewakili logika tersebut, yaitu apa yang dilakukan oleh sistem tersebut, tanpa perlu menspesifikasi dimana, bagaimana, dan oleh siapa proses-proses dalam sistem tersebut dilakukan.
Keuntungan dari DFD logis dibandingkan dengan DFD fisik adalah dapat memusatkan perhatian pada fungsi-funsi yang dilakukan sistem.
Perlu diperhatikan di dalam pemberian Keterangan/ Label;
• Lingkaran-lingkaran (simbol proses) menjelaskan apa yang dilakukan sistem
Misal : Menerima Pembayaran, Mencatat Penjualan, Membandingkan kas dan Daftar Penerimaan, Mempersiapkan Setoran, dll.
• Aliran-aliran data (simbol aliran data) menggambarkan sifat data.
Misal : Pembayaran (bukan “Cek”, “Kas”, “ Kartu Kredit”
Jurnal Penjualan (bukan “Buku Penjualan”), dll

Usulan dari analis ( berupa DFD dalam bab 4 ), beberapa hal yang umum yang mendapat perhatian dalam mendesain baru tersebut ialah:
- Menggabungkan beberapa tugas menjadi Satu
- Master Detail Update
- Meminimalkan tugas-tugas yang tidak penting
- Menghilangkan tugas-tugas yang duplikat
- Menambahkan proses baru
- Meminimalkan proses input
- Menetapkan bagian mana yang harus dikerjakan komputer dan bagian mana yang harus dikerjakan manual.

Entity Relationship Diagram

ERD merupakan suatu model untuk menjelaskan hubungan antar data dalam basis data berdasarkan objek-objek dasar data yang mempunyai hubungan antar relasi.

Tidak ada komentar:

Posting Komentar