Hay! Hopefully teman-teman dalam keadaan sehat-sehat dan baik-baik ya disana. Tulisan kali ini saya ingin share tentang pengalaman pribadi. Semoga bisa diambil faedahnya, ya.
Jadi, saya pernah mendapati teman yang katakan bahwa habit saya ini salah. Seems kurang bagus mungkin ya menurutnya? Entahlah. Fyi, saya termasuk orang yang terstruktur, punya timing, ga asal berjalan gitu aja. Nah, waktu itu teman bilang dengan menggebu, terkesan kebiasaan yang seperti ini adalah salah. Akhirnya demi menghindari perdebatan (karena saya saat itu belum pandai unjuk bicara), maka saya dengarkan dan berlalu begitu saja. Tapi ternyata dalam hati saya sampai detik sebelum saya dapatkan jawaban, selalu saja bertanya “emang habit aku ini beneran jelek kah? emang salahkah aku kalau kegiatan aku jadwalin? seburuk itukah?”. Pertanyaan yang selalu terngiang, kadang datang ingat sendiri, kadang keslimur hal lain.
Hingga saatnya pada waktu itu saya sedang dengarkan kajian yang dibawakan oleh Ustadz dr. Raehanul Bahraen hafizhahullahu ta’ala, bertemakan tentang anak muda. Beliau jelaskan bahwa Islam itu sebenarnya telah memberi pelajaran tentang scheduling. Artinya, sebenarnya di dalam Islam kita sudah diajarkan untuk memenej segala hal, mulai dari yang terkecil sampai yang terbesar. Beliau sampaikan bahwa “setiap orang memiliki jalan jihadnya masing-masing. Potensi kita apa, kita gunakan untuk mendekatkan diri kepada Allah.”
Coba buka QS. Al Hasyr ayat 18-19.
Saya dapat ambil faedah dari paparan yang beliau sampaikan, juga dari coba membaca artikel-artikel yang ada:
- alhamdulillah, saya tidak salah dan teman saya pun tidak salah. setiap orang memiliki jalan dakwahnya masing-masing. saya yang dengan cara terstrukturnya dan beliau yang dengan cara spontannya.
- cobalah untuk selalu tabayyun sebelum memutuskan memberikan label.
- al ‘ilmu qabla al qauli wa al ‘amali (ilmu itu sebelum berkata dan beramal).
- mengikuti sesuai apa yang Allah perintahkan kepada hambaNya, yaitu sesuai dengan Qur’an dan Sunnah.
- schedule people ternyata sebenarnya kita sedang mencoba untuk mengamalkan apa yang terkandung dalam surat Al Hasyr ayat 18 dan 19. maka dari itu, cobalah untuk selalu meluruskan niat kita dalam segala situasi. berusaha untuk perbaharui niat selalu; mengharao rudha Allah Ta’ala semata.
- berusahalah untuk terus belajar dimanapun dan kapanpun.
...............
Artikel persisnya yang saya baca qaddarullah terlupa. Tapi teman-teman dapat cari tentang tema yang sedang kita bahas ini jika diinginkan.
Demikian. Semoga dapat diambil pelajarannya juga, ya.
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.
Kita dapat menggunakan DFD untuk dua hal utama, yaitu untuk membuat dokumentasi dari sistem informasi yang ada, atau untuk menyusun dokumentasi untuk sistem informasi yang baru.
Empat simbol yang digunakan :
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.
Sebagai contoh, dalam gambar 1.
§ 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. Sebagai contoh, gambar 1.1, gambar 1.2, gambar 1.3, gambar 1.4 dan gambar 1.5.
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
PERBEDAAN PEMROGRAMAN BERORIENTASI OBJEK DAN PEMROGRAMAN TERSTRUKTUR
PERBEDAAN PEMROGRAMAN BERORIENTASI OBJEK DAN PEMROGRAMAN TERSTRUKTUR
Pengertian Pemrograman Berorientasi Objek
Pemrograman berorientasi objek (Inggris: object-oriented programming disingkat OOP) merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya.
Bahasa pemrograman yang mendukung OOP antara lain:
Visual Foxpro
Java
C++
Pascal (bahasa pemrograman)
Visual Basic.NET
SIMULA
Smalltalk
Ruby
Python
PHP
C#
Delphi
Eiffel
Perl
Adobe Flash AS 3.0
Pengertian Pemrograman Terstruktur
Pemrograman Terstruktur adalah suatu proses untuk mengimplementasikan urutan langkah untuk menyelesaikan suatu masalah dalam bentuk program.
Selain pengertian diatas Pemrograman Terstruktur adalah suatu aktifitas pemrograman dengan memperhatikan urutan langkah-langkah perintah secara sistematis, logis , dan tersusun berdasarkan algoritma yang sederhana dan mudah dipahami.
Prinsip dari pemrograman terstruktur adalah Jika suatu proses telah sampai pada suatu titik / langkah tertentu , maka proses selanjutnya tidak boleh mengeksekusi langkah sebelumnya / kembali lagi ke baris sebelumnya, kecuali pada langkah – langkah untuk proses berulang (Loop).
Bahasa pemrograman yang mendukung pemrograman terstruktur:
Cobol Turbo Prolog
C
Pascal
Delphi
Borland Delphi
berdasarkan penjelasan diatas, sangat jelas sekali bahwa pemrograman tersktruktur unggul dalam melakukan pemrograman sederhana karena lebih efisien dan lebih murah dalam hal perawatannya tetapi permodelan ini lebih susah untuk dipahami oleh orang – orang selain pembuat program itu sendiri (contohnya ketika dlakukan tracing program ).
Sementara itu pemrograman berorientasi objek memliki beberapa keuntungan seperti :
1.maintenance; program lebih mudah dibaca dan dipahami, dan pemrograman berorientasi obyek mengontrol kerumitan program hanya dengan mengijinkan rincian yang dibutuhkan untuk programmer.
2.pengubahan program (berupa penambahan atau penghapusan fitur tertentu); perubahan yang dilakukan antara lain menyangkut penambahan dan penghapusan dalam suatu database program misalnya.
3.dapat digunakannya obyek-obyek sesering yang diinginkan, kita dapat menyimpan obyek-obyek yang yang dirancang dengan baik ke dalam sebuah tolkit rutin yang bermanfaat yang dapat disisipkan kedalam kode yang baru dengan sedikit perubahan atau tanpa perubahan pada kode tersebut.
jadi, sangat jelas sekal bahwa pemrograman berorientasi objek sangat cocok sekali digunakan dalam kasus pembuatan software yang rumit dan kompleks karena memberikan berbagai kemudahan kepada pemrogram seperti yang telah disebutkan diatas.
permodelan yang mana yang lebh bagus? itu tergantung dari kebutuhan dan dari sudut pandang mana anda melihatnya. Yang perlu anda ingat adalah tujuan dari pemodelan itu sendiri, yang mana agar pada akhir proyek sistem dapat diperoleh sistem informasi yang memenuhi kebutuhan pemakai, tepat waktu dan sesuai anggaran, serta mudah digunakan, dimengerti dan dipelihara
Perbedaan mendasar antara OOP dan pemrograman terstruktur adalah:
Dengan menggunakan OOP maka dalam melakukan pemecahan suatu masalah kita tidak melihat bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur) tetapi objek-objek apa yang dapat melakukan pemecahan masalah tersebut. Sedangkan untuk pemrograman terstruktur, menggunakan prosedur/tata cara yang teratur untuk mengoperasikan data struktur
Untuk tata nama, keduanya pun memiliki tatanan yang sama walaupun memiliki pengertian tersendiri:
object oriented menggunakan “method” sedangkan terstruktur menggunakan “function”. Bila di OOP sering didengar mengenai “objects” maka di terstruktur kita mengenalnya dengan ” modules”. Begitu pula halnya dengan “message” pada OO dan “argument” pada terstruktur. “attribute” pada OO juga memiliki tatanan nama yang sepadan dengan “variabel” pada pemrograman terstruktur.
Persamaan kedua pemrogaman
adalah keduanya termasuk ke dalam pemodelan pemrograman yang digunakan dewasa ini.
Mana yang lebih baik
tidak ada yang dapat dikatakan lebih baik karena keduanya memiliki spesifikasi tersendiri dalam pemrogramannya. Hal ini juga tergantung pada bagaimana pribadi si pemrogram ingin menyusun program yang akan dibuatnya. Apakah lebih suka menggunakan yang berorientasikan pada objek maupun pemrograman yang terstruktur.
Kapan sama2 baik
Pemrograman prosedural akan dikatakan lebih baik apabila dalam segala situasi melibatkan kompleksitas moderat atau yang memerlukan signifikan kemudahan maintainability. Manfaat yang dirasakan dalam penggunaan pemrograman prosedural adalah kemampuan kembali menggunakan kode yang sama tanpa menggunakan kode yang berbeda ataupun mengkopinya kembali. Dengan menggunakan “goto”, memudahkan programmer melacak kumpulan data sehingga menghindarkan pemrograman terstruktur menjadi seperti spagethii code.
Pemrograman berorientasikan objek dikatakan lebih baik apabila Model data berorientasi objek dikatakan dapat memberi fleksibilitas yang lebih, kemudahan mengubah program, dan digunakan luas dalam teknik piranti lunak skala besar. Lebih jauh lagi, pendukung OOP mengklaim bahwa OOP lebih mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya, dan pendekatan OOP lebih mudah dikembangkan dan dirawat.