Tuesday, April 15, 2014

contoh algoritma, flowchart & pseudocode

 

Algoritma.

Algoritma adalah langkah – langkah logis tertentu untuk menyelesaikan suatu masalah,,sedangkan Guna algoritma adalah untuk membantu seseorang dalam menyelesaikan suatu masalah berdasarkan pada pola pikirnya masing-masing.
Ciri – ciri algoritma:
  • ada input.
  • ada proses.
  • ada output.
  • Memiliki instruksi instruksi yang jelas dan tidak ambigu.
  • Harus mempunyai stopping role.
sifat algoritma :
  • Tidak menggunakan simbol atau sintaks dari suatu bahasa pemrograman.
  • Tidak tergantung pada suatu bahasa pemrograman.
  • Notasi-notasinya dapat digunakan untuk seluruh bahasa manapun
Algoritma dapat digunakan untuk merepresentasikan suatu urutan kejadian secara logis dan dapat diterapkan di semua kejadian sehari-hari
Contoh kasus dalam kehidupan sehari-hari:
Algoritma memasak mie instan.
  1. Rebus air hingga mendidih.
  2. Masukkan mie instan ke dalam air mendidih tersebut.
  3. Tunggu beberapa hingga mie terlihat matang.
  4. Jika mie sudah dirasa matang, angkat dan tiriskan.
  5. Campurkan bumbu-bumbu, dan aduk hingga rata.
Algoritma menghitung luas persegi panjang.
  • Masukkan panjang
  • Masukkan lebar
  • Nilai luas adalah panjang * lebar
  • Tampilkan luas
Jadi algoritma adalah jembatan untuk mempermudah pemahaman alur kerja suatu proses

Pseudo-code.

Pseudo-code adalah kode atau tanda yang menyerupai (pseudo) atau merupakan penjelasan cara menyelesaikan suatu  masalah.
Pseudo-code sering digunakan oleh seseorang untuk menuliskan algoritma dari suatu permasalahan.
Pseudo-code berisikan langkah-langkah untuk menyelesaikan suatu permasalahan [hampir sama dengan algoritma], hanya saja bentuknya sedikit berbeda dari algoritma.
Pseudo-code menggunakan bahasa yang hampir menyerupai bahasa pemrograman.
Selain itu biasanya pseudo-code menggunakan bahasa yang mudah dipahami secara universal dan juga lebih ringkas dari pada algoritma.
Beda antara algoritma dan pseudo-code
Contoh algoritma mencari luas persegi panjang :
Algoritma
Pseudo-code
Masukkan panjang
Input panjang
Masukkan Lebar
Input panjang
Nilai luas adalah panjang x lebar
Luas ←panjang x lebar
Tampilkan luas
Print luas
contoh lain :
Algoritma
Pseudo-code
Jika sudah selesai, cetak invoice
IF KONDISI_SELESAI = “DONE” THEN
PRINT INVOICE
Nilai A dibagi dengan 2
A←A/2
Jika nilai A lebih besar dari 2
maka nilai A dikalikan 3
IF A > 2 THEN A ← A x 3
Dari dua bilangan A dan B, cari
bilangan yang terbesar
IF A > B THEN PRINT A ELSE PRINT Bini
Masukkan semua mata kuliah
yang ingin diambil pada semester
ini
DARI MATKUL = 0 SAMPAI MATKUL <= MATKUL_DIINGINKAN, MASUKAN
DATA MATKUL
Sebenarnya tidak ada aturan mengikat tentang penulisan algoritma dan pseudo-code, karena guna kedua hal ini adalah untuk memudahkan seseorang untuk menggambarkan urutan suatu kejadian. Biasanya untuk para programmer, guna kedua hal ini adalah sebagai dasar alur pembuatan program. Di mana dapat merepresentasikan alur cerita dari client tentang kebutuhan dasar dari sebuah program, sehingga lebih mudah untuk dipahami.Jadi pseudo-code bisa dikatakan juga sebagai algortima yang sudah sedikit digabungkan dengan bahasa pemrograman yang akan digunakan.

Flowchart.

Definisi:
Bentuk gambar/diagram yang mempunyai aliran satu atau dua arah secara sekuensial
Kegunaan:
  • Untuk mendesain program
  • Untuk merepresentasikan program
Input –>Proses –> Output
Secara garis besar, unsur-unsur pemrograman adalah Semua bahasa pemrograman, pasti mempunyai komponen-komponen sebagai berikut :
  • Input (scanf)
  • Percabangan (if, switch)
  • Perulangan (while, for, for each, loop)
  • Output (printf)

 

 

 Contoh kasus :

A.Buatlah algoritma menggunakan flowchart dan pseudocode    untuk menghitung luas persegi panjang




Algoritma :1. Masukkan panjang
                      2. Masukkan lebar
                      3. Luas Persegi panjang adalah panjang dikalikan lebar
                      4. Tampilkan luas persegi panjang

Pseudocode :1. Input panjang
                           2. Input lebar
                           3. Luas = panjang x lebar
                           4. Print luas lingkaran





B. Buatlah algoritma menggunakan flowchart dan pseudocode untuk menghitung luas lingkaran

 

Algoritma :1. Masukkan phi (π)
                     2. Masukkan jari-jari (r)
                     3. Luas Lingkaran adalah phi dikalikan jari-jari
                     4. Tampilkan luas lingkaran

Pseudocode :1. Input phi (π)
                           2. Input jari-jari (r)
                           3. Luas = π x r x r 
                           4. Print luas lingkaran







C.Buatlah algoritma menggunakan flowchart dan pseudocode untuk menentukan apakah bilangan yang di input adalah bilangan ganjil atau bilangan genap. 


Algoritma :1. Masukkan sebuah bilangan
                     2. Bagi bilangan tersebut dengan bilangan atau angka 2
                     3. Jika bilangan menghasilkan sisa pembagian 0 maka genap
                     4. Jika bilangan tidak menghasilkan sisa pembagian 0 maka
                         ganjil



Pseudocode : Read Bilangan

                            If bil mod 2 = 0  then,

                                     “Output Genap”

                           Else

                                     “Output Ganjil”

                           End if



                           Catatan : Mod adalah sisa hasil bagi
 






D. Buatlah algoritma menggunakan flowchart dan pseudocode untuk menginput 3 buah bilangan, kemudian tentukan bilangan terbesar, terkecil, dan rata-ratanya.

 

Algoritma :*  1. Masukkan bilangan A,B,C
                          2. Jika A>B dan A>C maka A paling besar
                          3. Jika B>A dan B>C maka B paling besar
                          4. Maka C paling kecil/terkecil               
                      

                 *  Jumlah = A+B+C
                                  Rerata = Jumlah
                                                       3



Pseudocode :* If (A>B ; A>C) then

                                      Print “A paling besar”

                          If (B>A ; B>C) then

                                      Print “B paling besar”

                              Else
                                      Print “C terkecil”
                              End if
                           
                          * Jumlah = A+B+C
                             Rerata = Jumlah
                                                 3
                             Output rerata





E.Buatlah algoritma menggunakan flowchart dan pseudocode untuk mengubah satuan waktu yang diinputkan dari detik ke satuan jam dan menit  

 

Algoritma :        Masukkan detik
                         Menit = 60 detik
                         Jam = 3600 detik
                         Tampilkan menit
                         Tampilkan jam
                        
Pseudocode :    Read detik
                            M = 60 s
                            H = 3600 s
                            Output M
                            Output H

 

 

Macam-macam File Header (Include) dan Fungsinya Pada C++

File header adalah sebuah file yang digunakan untuk mendefinisikan beberapa file macro, fungsi, variabel dan konstan. File header nantinya akan mengandung beberapa fungsi atau perintah yang akan digunakan dalam program. File header ini sangat penting, karena beberapa perintah tidak akan dapat dijalankan jika file header yang mendukung perintah tersebut tidak ditulis dalam program. File header ini memiliki ciri bereksistensi “.h” dan diarahkan oleh preprocessor dirrective #include sebagai gambaran kepada kompilator bahwa beberapa fungsi yang terdapat dalam file header tersebut diikutkan dalam pembuatan program. 
Nama file yang memungkinkan dibangun pada program bahasa c++, yang dicantumkan setelah #include. Berisi antara lain informasi fungsi, konstanta, dan variabel dari pustaka (bagian program yang telah tersedia) .
Ada beberapa hal tentang kerangka program C tersebut yang perlu diketahui.
Pertama, program C++ harus mempunyai fungsi main yang ditulis seperti ini : main() . Tubuh program C akan mengikuti fungsi main itu dan dimasukkan di antara tanda kurung { dan }. Dalam contoh di atas tubuh programnya adalah : printf(“C++ i tu mudah!n.”);.
Kedua, fungsi dan pernyataan di tubuh program C ditutup dengan tanda ” ” ;.
Ketiga, program C biasanya punya satu atau lebih file header. File header program di atas adalah stdio.h
File header itu mempunyai banyak kegunaan, antara lain untuk menjalankan proses input/output. Untuk mengikutkan file header itu bisa ditulis directive #include<…>.
Di bawah ini mencantumkan beberapa file header yang biasa diperlukan
   1.      Untuk manajemen memori
   2.      Untuk memanggil routines ROM BIOs
   3.      Untuk fungsi matematika komplek (dengan C++)
   4.      Untuk memanggil console DOS I/O (input output)
Fungsi-fungsi pustaka yang umum digunakan untuk menampilkan hasil yang prototype-nya berada di file judul conio.h
getch () : Fungsi getch() (get character and echo) dipakai untuk membaca sebuah karakter dengan sifat karakter yang dimasukkan tidak perlu diakhiri dengan menekan tombol ENTER, dan karakter yang dimasukan tidak akan ditampilkan di layar.
getche() : Fungsi getche()dipakai untuk membaca sebuah karakter dengan sifat karakter yang dimasukkan tidak perlu diakhiri dengan menekan tombol ENTER, dan karakter yang dimasukan ditampilkan di layar.
putch() : Akan menampilkan karakter ASCII dari nilai x ke layer monitor tanpa memindahkan letak kursor ke baris berikutnya.
clrscr() : Fungsi ini digunkan untuk membersihkan layar window dan memindahkan posisi kursor ke baris 1 kolom 1 (pojok kiri atas).
clreol() : Fungsi ini digunakan untuk membersihkan layar mulai dari posisi kursor hingga kolom terakhir, posisi kursor tiak berubah.
gotoxy () : Fungsi gotoxy digunakan untuk memindahkan kursor ke kolom x, baris y.
wherex () : Fungsi wherex digunakan untuk mengembalikan posisi kolom kursor.
wherey () : Fungsi wherey digunakan untuk mengembalikan posisi baris kursor.
window () : Fungsi window digunakan untuk mendefinisikan sebuah window berdasarkan koordinat kiri atas dan kanan bawah.
5. Berisi parameter untuk routing float point
6. Untuk prototype fungsi grafik
7. Untuk routing I/O basicdi C++
Fungsi-fungsi pustaka yang umum digunakan untuk menampilkan hasil yang        prototype-nya berada di file judul iostream.h
a)cout() : Fungsi cout() merupakan sebuah objek didalam Borland C++ digunakan untuk menampilkan suatu data kelayar.
b)cin () : Fungsi cin() merupakan sebuah objeck didalam C++ digunakan untuk memasukkan suatu data.
c)endl : endl merupakan suatu fungsi manipulator yang digunakan untuk menyisipkan karakter NewLine atau mengatur pindah baris. Fungsi ini sangat berguna untuk piranti keluaran berupa file di disk.
d)    ends : ends merupakan suatu fungsi manipulator yang digunakan untuk menambah karakter null ( nilai ASCII NOL ) kederetan suatu karakter. Fungsi ini akan berguna untuk mengirim sejumlah karakter kefile didisk atau modem dan mangakhirinya dengan karakter NULL.
Operasi matematika
math.h dan stdlib.h dipergunakan untuk prototype fungsi operasi matematika seperti : sqrt (akar kuadrat), sin, cos, tan, acos, asin, atan, atan2, cosh, sinh, tanh, exp, prexp, ldexp, log, log10, modf, pow, ceil, fabs, fmod
a)     Sqrt() : Digunakan untuk menghitung akardari sebuah bilangan. Bentuk umum : sqrt(bilangan);
b)   Sin(), cos(), tan() : Masing-masing digunakan untuk menghitung nilai sinus, conisius dan tangens dari suatu sudut. Bentuk umum: Sin(sudut); Cos(sudut); Tan(sudut);
c)  Max() : Digunakan untuk menghitung hasil pembagian dan sisa pembagian. Bentuk umum : max(bilangan1, bilangan2);
d)  Min() : Digunakan untuk menentukan bilangan terkecil dari dua buah bilangan. Bentuk umum : min(bilangan1, bilangan2).
9. Mendefinisikan tipe dan macro untuk paket standar I/O yang dikembangkan oleh Kernighan & Ritchie
Fungsi-fungsi pustaka yang umum digunakan untuk menampilkan hasil yang prototype-nya berada di file judul stdio.h
a)     printf() : Merupakan fungsi keluaran yang paling umum digunakan untuk menampilkan informasi kelayar. Bentuk Penulisan : printf(“penentu format”, argumen-1, argumen-2, …);
b)    puts() : Perintah puts() sebenarnya sama dengan printf(), yaitu digunakan untuk mencetak string ke layar. puts() berasal dari kata PUT STRING. Perbedaan antara printf() dengan puts() adalah : printf() puts() .Harus menentukan tipe data untuk data tring, yaitu %s Tidak Perlu penentu tipe data string, karena fungsi ini khusus untuk tipe data string. Untuk mencetak pindah baris, memerlukan notasi ‘ n ‘ Untuk mencetak pindah baris tidak perlu notasi ‘ n ‘, karena sudah dibeikan secara otomatis.
c)     putchar() : Perintah putchar() digunakan untuk menampilkan sebuah karakter ke layar. Penampilan karakter tidak diakhiri dengan pindah baris.
d)    fprintf() : Digunakan untuk mencetak semua jenis tipe data ke printer dan secara otomatis memberikan efek perpindahan baris.
e)     fputs() : Digunakan untuk mencetak tipe data string ke printer
f)      fputc() : Digunakan untuk mencetak tipe data karakter ke printer
g)     scanf() : Fungsi pustaka scanf() digunakan untuk menginput data berupa data numerik, karakter dan string secara terformat. Hal-hal yang perlu diperhatikan dalam pemakaian fungsi scanf(). Fungsi scanf() memakai penentu format. Fungsi scanf() memberi pergantian baris secara otomatis. Fungsi scanf() tidak memerlukan penentu lebar field. Variabelnya harus menggunakan operator alamat “&”. Bentuk umum fungsi scanf(): “ penentu format “, &variabel. Penentu format : kode format untuk konversi data “&” Operator untuk pointer, yang digunakan untuk penempatan alamat dari nilai variabel di memori. Variabel : variabel yang akan menampung nilai yang dimasukkan Penentu Format scanf()
h)    gets() : Fungsi gets() digunakan untuk memasukkan data bertipe karakter dan tidak dapat digunakan untuk memasukkan data numerik. Penulisan fungsi gets() harus diakhiri dengan penekanan tombol enter. Fungsi gets() akan menyebabkan kursor secara otomatis akan pindah baris, fungsi gets() tidak memerlukan penentu format. Perbedaan scanf() dengan gets(). scanf() dan gets() tidak dapat menerima string yang mengandung spasi atau tab dan dianggap sebagai data terpisah Dapat menerima string yang mengandung spasi atau tab dan masing dianggap sebagai satu kesatuan data.
i)       getchar() : Fungsi getchar() digunakan untuk membaca data yang bertipe karakter, penggunaan fungsi getchar harus diakhiri dengan penekanan tombol enter. Karakter yang dimasukkan akan terlihat pada layar dan pergantian baris akan dilakukan secara otomatis tanpa penekanan tombol enter. Fungsi getchar tidak menggunakan argument, tetapi langsung memberikan hasil karakter yang dimasukkan.
10. Untuk beberapa fungsi rutin umum : konversi dll
         Fungsi-fungsi pustaka yang umum digunakan untuk menampilkan hasil yang prototype-nya berada di file judul stdlib.h
a)     Atof() : Digunakan ntuk mengkonversi nilai string menjadi bilangan bertipe double. Bentuk umum : atof(char x);
b)    Atoi() : Digunakan untuk menghitung hasil pembagian dan sisa pembagian. Bentuk umum : div_t div(int x, int y)
c)     Pow() : Digunakan untuk pemangkatan suatu bilangan. Bentuk umum : pow(bilangan, pangkat).
11. Untuk mengguakan manipulator, Manipulator pada umumnya digunakan untuk mengatur tampilan layer
Fungsi-fungsi pustaka yang umum digunakan untuk menampilkan hasil yang prototype-nya berada di file judul iomanip.h
a)     dec, oct dan hex : dec, oct dan hex merupakan suatu fungsi manipulator yang digunakan untuk menampilkan data dalam bentuk desimal, oktal dan hexadesimal.
b)    setprecision () : Fungsi setprecision() merupakan suatu fungsi anipulator yang digunakan ntuk mengatur jumlah digit desimal yang ingin ditampilkan. Fungsi ini biasa pada fungsi cout().
c)     setbase (int n) : Fungsi setbase () merupakan suatu fungsi manipulator yang digunakan untuk mengkonversi ke bilangan basis n (n= 8, 10 atau 16)
d)    setw(int n) : Fungsi setw(int n) merupakan suatu fungsi manipulator yang digunakan untuk mengatur lebar field (spasi) untuk suatu nilai sebesar n karakter
e)     setfill(int c) : Fungsi setfill(int c) merupakan suatu fungsi manipulator yang digunakan untuk menyetel karakter pemenuh berupa c
f)      setiosflags(long f) : Fungsi setiosflags()merupakan suatu fungsi manipulator yang digunakan untuk menyetel format yang ditentukan oleh f
g)     resetiosflags(long f) : Merupakan suatu fungsi manipulator yang digunakan untuk menghapus format yang ditentukan oleh f
Operasi string
a)     Strcpy() : Berfungsi untuk menyalin suatu string asal ke variablel string tujuan. Bentuk umum : strcpy(var_tujuan, string_asal);
b)    Strlen() : Berfungsi untuk memperoleh jumlah karakter dari suatu string. Bentuk umum : strlen(tujuan, sumber);
c)     Strupr() : Digunakan untuk mengubah setiap huruf dari suatu string menjadi huruf capital. Bentuk umum : strlupr(string);
d)    Strcmp() : Digunakan untuk membandingkan dua buah string. Hasil dari fungsi ini bertipe integer dengan nilai: Negative, jika string pertama kurang dari string kedua. Nol, jika string pertama sama dengan string kedua Positif, jika string pertama lebih besar dari string kedua. Bentuk umum : strcmp(string1, string2);
e)     strupr() : Digunakan untuk mengubah huruf menjadi capital. Bentuk umum : strupr(string)
f)      strlwr() : Digunakan untuk mengubah huruf menjadi kecil semua. Bentuk umum : strlwr(string)
g)     strcmp() : Digunakan untuk membandingkan dua string. Bentuk umum : strcmp (string1, string2)
h)     strcat () : Digunakan untuk menggabungkan string. Bentuk umum : strcat(string1,string2)
Operasi karakter
a)    islower() : Fungsi akan menghasilkan nilai benar (bukan nol)jika karakter merupakan huruf kecil. Bentuk umum : islower(char);
b)  isupper() : Fungsi akan menghasilkan nilai benar(bukan nol) jika karakter merupakan huruf capital. Bentuk umum : isupper(char);
c)    isdigit() : Fungsi akan mengahsilkan nilai benar(bukan nol) jika karakter merupakan sebuah digit.
Bentuk umum : isdigit(char);
d)    Tolower() : Fungsi akan mengubah huruf capital menjadi huruf kecil. Bentuk umum : tolower(char);
e)    Toupper() : Fungsi akan mengubah huruf kecil menjadi huruf capital. Bentuk umum : toupper(char);
Itulah penjelasan mengenai file header dan beberapa contoh file header, untuk lebih lengkapnya bisa dilihat pada C Library ini

Sunday, February 16, 2014

Apakah itu QR Code


Kode QR atau umumnya dikenal dengan istilah QR Code adalah bentuk evolusi kode batang (barcode) dari satu dimensi menjadi dua dimensi. Penggunaan kode QR sudah sangat lazim di Jepang, hal ini dikarenakan kemampuannya menyimpan data yang lebih besar dari pada kode batang sehingga mampu mengkodekan informasi dalam bahasa Jepang sebab dapat menampung huruf kanji. Kode QR telah mendapatkan standarisasi internasional dan standarisasi dari Jepang berupa ISO/IEC18004 dan JIS-X-0510 dan telah digunakan secara luas melalui ponsel di Jepang. Kode QR adalah suatu jenis kode matriks atau kode batang dua dimensi yang dikembangkan oleh Denso Wave, sebuah divisi Denso Corporation yang merupakan sebuah perusahaan Jepang dan dipublikasikan pada tahun 1994 dengan fungsionalitas utama yaitu dapat dengan mudah dibaca oleh pemindai QR yang merupakan singkatan dari Quick Response atau respons cepat, yang sesuai dengan tujuannya adalah untuk menyampaikan informasi dengan cepat dan mendapatkan respons yang cepat pula. Berbeda dengan kode batang, yang hanya menyimpan informasi secara horizontal, kode QR mampu menyimpan informasi secara horizontal dan vertikal, oleh karena itu secara otomatis Kode QR dapat menampung informasi yang lebih banyak daripada kode batang.

Awalnya kode QR digunakan untuk pelacakan kendaraan bagian di manufaktur, namun kini kode QR digunakan dalam konteks yang lebih luas, termasuk aplikasi komersial dan kemudahan pelacakan aplikasi berorientasi yang ditujukan untuk pengguna telepon selular. Di Jepang, penggunaan kode QR sangat populer, hampir semua jenis ponsel di Jepang bisa membaca kode QR sebab sebagian besar pengusaha disana telah memilih kode QR sebagai alat tambahan dalam program promosi produknya, baik yang bergerak dalam perdagangan maupun dalam bidang jasa. Pada umumnya kode QR digunakan untuk menanamkan informasi alamat situs suatu perusahaan. Di Indonesia, kode QR pertama kali diperkenalkan oleh KOMPAS. Dengan adanya kode QR pada koran harian di Indonesia ini, pembaca mampu mengakses berita melalui ponsel nya bahkan bisa memberi masukan atau opini ke reporter atau editor surat kabar tersebut.

Kode QR berfungsi bagaikan hipertaut fisik yang dapat menyimpan alamat dan URL,nomor telepon, teks dan sms yang dapat digunakan pada majalah, surat harian, iklan, pada tanda-tanda bus, kartu nama ataupun media lainnya. Selain itu, desain QR memungkinkan penggunanya untuk memasukkan logo perusahaan, klip video ataupun foto ke kode QR, tanpa menghilangkan substansi informasi apapun dari sumber yang dimasukkan. Kode QR dapat dimanfaatkan sebagai keamanan makanan dengan cara menambahkan kode QR yang berisikan data-data mengenai kandungan nutrisi dan masa kadaluarsa pada tiap label makanan sehingga pelanggan dapat merasa lebih aman dalam memilih makanan yang dibeli sebab mereka dapat mengetahui informasi-informasi tentang makanan tersebut.

Kode QR memiliki kapasitas tinggi dalam data pengkodean, yaitu mampu menyimpan semua jenis data, seperti data numerik, data alphabetis, kanji, kana, hiragana, simbol,dan kode biner. Secara spesifik, kode QR mampu menyimpan data jenis numerik sampai dengan 7.089 karakter, data alphanumerik sampai dengan 4.296 karakter, kode binari sampai dengan 2.844 byte, dan huruf kanji sampai dengan 1.817 karakter. Selain itu kode QR memiliki tampilan yang lebih kecil daripada kode batang. Hal ini dikarenakan kode QR mampu menampung data secara horizontal dan vertikal, oleh karena itu secara otomatis ukuran dari tampilannya gambar kode QR bisa hanya seperspuluh dari ukuran sebuah kode batang. Tidak hanya itu kode QR juga tahan terhadap kerusakan, sebab kode QR mampu memperbaiki kesalahan sampai dengan 30%. Oleh karena itu, walaupun sebagian simbol kode QR kotor ataupun rusak, data tetap dapat disimpan dan dibaca. Tiga tanda berbentuk persegi di tiga sudut memiliki fungsi agar simbol dapat dibaca dengan hasil yang sama dari sudut manapun sepanjang 360 derajat.

Kode QR dapat digunakan pada ponsel yang memiliki aplikasi pembaca kode QR dan memiliki akses internet GPRS atau WiFi atau 3G untuk menghubungkan ponsel dengan situs yang dituju via kode QR tersebut. Pelanggan, yang dalam hal ini adalah pengguna ponsel hanya harus mengaktifkan program pembaca kode QR, mengarahkan kamera ke kode QR, selanjutnya program pembaca kode QR akan secara otomatis memindai data yang telah tertanam pada kode QR. Jika kode QR berisikan alamat suatu situs, maka pelanggan dapat langsung mengakses situs tersebut tanpa harus lebih dulu mengetikkan alamat dari situs yang dituju. Jika ingin mengakses kode QR dengan ponsel tanpa kamera, maka hal pertama yang harus dilakukan oleh pengguna adalah dengan menjalankan terlebih dahulu aplikasi peramban yang ada pada ponsel, lalu masukkan URL halaman yang bersangkutan, selanjutnya masukkan “ID” atau 7 digit nomor yang tertera di bawah kode dan klik tombol Go, maka pengguna akan memperoleh konten digital yang diinginkan. Hal ini tentu mempermudah pelanggan dalam mendapatkan informasi yang ditawarkan oleh pemilik usaha. Jenis-Jenis aplikasi yang dapat membaca kode QR antara lain misalnya Kaywa Reader, yang dapat dipasang pada ponsel Nokia, iMatrix, aplikasi untuk iPhone dan ZXing Decoder Online yang dapat digunakan untuk mendekode kode QR berupa imaji dengan memasukkan URL image maupun dengan menguploadnya.
 
Sumber:
http://www.fazar.net/mengenal-qr-code/

Konsep Dasar Bahasa Pemrograman Berorientasi Objek

Prosedural vs OOP
Dalam dunia pemrograman, biasanya kita dihadapkan pada dua jenis metode pemrograman, yaitu pemrograman prosedural (procedural) dan pemrograman berorientasi objek (object oriented). Apa perbedaan kedua metode tersebut? Bagaimana pemrograman berorientasi objek itu dilakukan? Apa saja konsep-konsep OOP yang harus dikuasai? Tulisan ini akan menjelaskan pertanyaan-pertanyaan tersebut.
Pemrograman prosedural merupakan suatu metode menulis program yang didasarkan pada "serangkaian tugas yang diselesaikan dalam bentuk fungsi atau prosedur". Cara pandang pemrograman prosedural yaitu sebuah program adalah suatu urutan instruksi. Programmer harus mem-break down suatu problem/masalah menjadi sub problem yang lebih sederhana. Fokus utama metode prosedural ini adalah fungsi dan prosedur, dimana keduanya digunakan untuk memanipulasi data. Dalam hal ini data bersifat pasif.
Lain halnya dengan pemrograman berorientasi objek (OOP), fungsi dan data bukan menjadi dua hal yang terpisah. Fungsi dan data menjadi satu kesatuan yang disebut sebagai objek aktif. Cara pandang OOP ini yaitu sebuah program merupakan serangkaian objek yang bekerjasama untuk menyelesaikan suatu problem.
Dengan kata lain, metode prosedural berfokus pada cara komputer menangani tugas, sedangkan metode OOP berfokus pada tugas yang kita kembangkan untuk dieksekusi komputer. Kedua jenis metode pemrograman tersebut dapat digunakan untuk menangani masalah yang sama, asalkan bahasa pemrograman yang digunakan mendukung metode-metode tersebut. Contoh bahasa pemrograman yang mendukung OOP diantaranya : Java, C++, Pascal, Visual Basic .NET, Ruby, Python, PHP, C#, Delphi, Perl, dsb. Selain itu masih banyak bahasa lain yang termasuk ke dalam bahasa prosedural, atau bahkan bisa mendukung kedua metode pemrograman tersebut. Untuk lebih lengkapnya, dapat dilihat daftar bahasa pemrograman berdasarkan tipenya di sini.
Istilah-Istilah OOP
1. Objek
Untuk mempermudah pemahaman, maka disini akan dijelaskan melalui analogi. Pada dasarnya semua benda yang adadi dunia nyata dapat dianggap sebagai objek. Misalnya rumah, mobil, sepeda, motor, gelas, komputer, meja, sepatu, dll. Setiap objek memiliki atribut sebagai status (state) dan tingkah laku sebagai behavior.
Contoh objek : Motor. Maka atribute (state) nya adalah pedal, roda, jeruji, speedometer, warna, jumlah roda. Sedangkan tingkah laku (behavior) nya adalah kecepatan menaik, kecepatan menurun, dan perpindahan gigi motor.
Analogi pemrograman berorientasi objek sama dengan penggambara pada dunia nyata seperti contoh di atas. Dalam OOP, state disimpan pada variabel dan tingkah laku disimpan pada method.
Dalam bahasa teoretis OOP, Objek berfungsi untuk membungkus data dan fungsi bersama menjadi satu unit dalam sebuah program komputer. Objek merupakan dasar dari modularitas dan struktur dalam sebuah program komputer berorientasi objek.
2. Class
Definisi class yaitu template untuk membuat objek. Class merupakan prototipe atau blue prints yang mendefinisikan variabel-variabel dan method-method secara umum. Objek merupakan hasil instansiasi dari suatu class. Proses pembentukan objek dari suatu kelas disebut sebagai instantiation. Objek disebut juga sebagai instances.
Dalam bahasa teoretis OOP, class merupakan kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh 'class of dog' adalah suatu unit yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari anjing. Sebuah class adalah dasar dari modularitas dan struktur dalam pemrograman berorientasi object.
Sebuah class secara tipikal sebaiknya dapat dikenali oleh seorang non-programmer sekalipun terkait dengan domain permasalahan yang ada, dan kode yang terdapat dalam sebuah class sebaiknya (relatif) bersifat mandiri dan independen (sebagaimana kode tersebut digunakan jika tidak menggunakan OOP). Dengan modularitas, struktur dari sebuah program akan terkait dengan aspek-aspek dalam masalah yang akan diselesaikan melalui program tersebut. Cara seperti ini akan menyederhanakan pemetaan dari masalah ke sebuah program ataupun sebaliknya.
3. Attributes
Atribut adalah data yang membedakan antara objek satu dengan yang lainnya.
Contoh Objek : VolcanoRobot ( a volcanic exploration vehicle), mempunyai atribut sebagai berikut:
  • Status ~> exploring, moving, returning home
  • Speed ~> in miles per hour
  • Temperature ~> in Fahrenheit degrees
Dalam class, atribut sering disebut sebagai variabel. Atribut dibedakan menjadi dua jenis yaitu Instance Variable dan Class Variable.
Instance variable adalah atribut untuk tiap objek dari kelas yang sama. Tiap objek mempunyai dan menyimpan nilai atributnya sendiri. Jadi, tiap objek dari class yang sama bokeh mempunyai nilai yang sama atau berbeda.
Class Variable adalah atribut untuk semua objek yang dibuat dari class yang sama. Semua objek mempunyai nilai atribut yang sama. Jadi semua objek dari class yang sama mempunyai hanya satu nilai yang value nya sama.
4. Behavior
Behavior/tingkah laku adalah hal-hal yang bisa dilakukan oleh objek dari suatu class. Behavior dapat digunakan untuk mengubah nilai atribut suatu objek, menerima informasi dari objek lain, dan mengirim informasi ke objek lain untuk melakukan suatu tugas (task).
Contoh behavior untuk objek VolcanoRobot:
  • check current temperature
  • begin a survey
  • report its current position
Dalam class, behavior disebut juga sebagai methods. Methods sendiri adalah serangkaian statements dalam suatu class yang menghandle suatu task tertentu. Cara objek berkomunikasi dengan objek yang lain adalah dengan menggunakan method.
Contoh class, object, attributes, dan behavior:
5. Abstraksi
Abstraksi adalah kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam sistem melayani sebagai model dari "pelaku" abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem, tanpa mengungkapkan bagaimana kelebihan ini diterapkan. Proses, fungsi atau metode dapat juga dibuat abstrak, dan beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan.
Konsep Konsep OOP
1. Enkapsulasi (Encapsulation)
Definisi enkapsulasi: Pembungkusan variabel dan method dalam sebuah obyek yang terlindungi serta menyediakan interface untuk mengakses variabel tersebut. Variabel dan method yang dimiliki oleh suatu objek, bisa ditentukan hak aksesnya. Dalam OOP, konsep enkapsulasi sebenarnya merupakan perluasan dari struktur dalam bahasa C.
Contoh: jam tangan. Dalam hal ini, penting sekali untuk mengetahui waktu, sedangkan cara jam mencatat waktu dengan baik antara jam bertenaga baterai atau bertenaga gerak tidaklah penting kita ketahui.
Dengan kata lain enkapsulasi berfungsi untuk memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam/dari sebuah objek dengan cara yang tidak layak; hanya metode dalam objek tersebut yang diberi izin untuk mengakses keadaannya. Setiap objek mengakses interface yang menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya. Objek lainnya tidak akan mengetahui dan tergantung kepada representasi dalam objek tersebut.

2. Pewarisan (Inheritance)
Pewarisan merupakan pewarisan atribut dan method dari sebuah class ke class lainnya. Class yang mewarisi disebut superclass dan Class yang diwarisi disebut subclass. Subclass bisa berlaku sebagai superclass bagi class lainya, disebut sebagai multilevel inheritance.
Contoh : terdapat class sepeda dan sepeda gunung. Sepeda termasuk superclass.  Sepeda gunung termasuk subclass. Hal ini dikarenakan sepeda gunung memiliki variabel dan method yang dimiliki oleh sepeda.
Prinsip dasar inheritance yaitu persamaan-persamaan yang dimiliki oleh beberapa kelas dapat digabungkan dalam sebuah class induk sehingga setiap kelas yang diturunkannya memuat hal-hal yang spesifik untuk kelas yang bersangkutan.
Contoh Pewarisan

Keuntungan Pewarisan
  • Subclass menyediakan state/behaviour yang spesifik yang membedakan dengan superclass, sehingga memungkinkan programmer untuk menggunakan ulang source code dari superclass yang telah ada.
  • Programmer dapat mendefinisikan superclass khusus yang bersifat generik, yang disebut abstract class (abstraksi), untuk mendefinisikan class dengan tingkah laku dan state secara umum.
Single & Multiple Inheritance
Bahasa C adalah contoh multiple inheritance. Suatu class diperbolehkan untuk mempunyai lebih dari satu superclass. Variabel dan method yang diwariskan merupakan kombinasi dari superclass-nya. Java adalah contoh single inheritance. Suatu class hanya boleh mempunyai satu superclass.
Multilevel Inheritance
Suatu subclass bisa menjadi superclass bagi class yang lain.

3. Polimorfisme
Polimorfisme adalah kemampuan suatu obyek untuk mempunyai lebih dari satu bentuk. Polimorfisme tidak bergantung kepada pemanggilan subrutin. Metode tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu di mana pesan tersebut dikirim. Contohnya, bila sebuah burung menerima pesan "gerak cepat", dia akan menggerakan sayapnya dan terbang. Bila seekor singa menerima pesan yang sama, dia akan menggerakkan kakinya dan berlari. Keduanya menjawab sebuah pesan yang sama, namun yang sesuai dengan kemampuan hewan tersebut. Ini disebut polimorfisme karena sebuah variabel tungal dalam program dapat memegang berbagai jenis objek yang berbeda selagi program berjalan, dan teks program yang sama dapat memanggil beberapa metode yang berbeda di saat yang berbeda dalam pemanggilan yang sama. Hal ini berlawanan dengan bahasa fungsional yang mencapai polimorfisme melalui penggunaan fungsi kelas-pertama.
Kesimpulan :
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. Sebagai contoh anggap kita memiliki sebuah departemen yang memiliki manager, sekretaris, petugas administrasi data dan lainnya. Misal manager tersebut ingin memperoleh data dari bagian administrasi, maka manager tersebut tidak harus mengambilnya langsung tetapi dapat menyuruh petugas bagian administrasi untuk mengambilnya. Pada kasus tersebut seorang manager tidak harus mengetahui bagaimana cara mengambil data tersebut tetapi manager bisa mendapatkan data tersebut melalui objek petugas adminiistrasi. Jadi untuk menyelesaikan suatu masalah, dapat dilakukan dengan kolaborasi antar objek-objek yang ada karena setiap objek memiliki deskripsi tugasnya sendiri.

Sumber:
http://www.adityarizki.net/2012/06/konsep-dasar-pemrograman-berorientasi-objek/

Normalisasi Tabel Database


Normalisasi merupakan proses penyusunan tabel-tabel agar tidak terjadi data redundancy (data ganda), yang dapat menyebabkan anomali pada saat terjadi operasi manipulasi data seperti tambah, ubah dan hapus. Anomali yaitu keanehan pada proses basis data yang memberikan masalah yang tidak diharapkan (misalnya menyebabkan ketidakkonsistenan data atau membuat sesuatu data menjadi hilang ketika data lain dihapus). Sebuah tabel dapat dikategorikan efisien atau normal jika telah memenuhi tiga kriteria, yaitu :
  1. Jika ada dekomposisi tabel dimana dekomposisinya dijamin aman (Lossless Join Decompotition).  Dekomposisi adalah proses pemisahan satu tabel menjadi dua atau lebih tabel baru.
  2. Trepeliharanya ketergantungan fungsional pada saat perubahan data (Dependency Preservation).
  3. Tidak melanggar Boyce-Codd Normal Form (BCNF).


Normalisasi adalah suatu proses untuk mengubah suatu tabel yang memiliki  masalah tertentu  ke dalam dua buah tabel atau lebih, yang tidak lagi memiliki masalah tersebut (Abdul Kadir, 2002: 52). Masalah tersebut biasanya merupakan suatu ketidakkonsistenan (tidak normal) apabila dilakukan penghapusan (delete), pengubahan (update) dan pembacaan (retrieve) pada suatu basis data sehingga tidak ada lagi duplikasi data.

Bentuk normalisasi adalah suatu aturan yang dikenakan pada tabel-tabel dalam basis data dan harus dipenuhi oleh tabel-tabel tersebut pada level-level normalisasi. Ada macam-macam bentuk normalisasi, diantaranya adalah bentuk tidak normal, bentuk normal pertama, bentuk normal kedua dan bentuk normal ketiga.
Aturan-aturan dalam masing-masing bentuk normalisasi tersebut adalah sebagai berikut (Abdul Kadir, 2002: 54) :
a. Bentuk tidak normal
Bentuk ini merupakan kumpulan data yang akan disimpan, tidak ada keharusan mengikuti suatu format tertentu, dapat saja data tidak lengkap atau terduplikasi dan data dikumpulkan apa adanya.
b. Bentuk normal pertama
Suatu tabel dikatakan dalam bentuk normal pertama (1NF) bila setiap kolom bernilai tunggal untuk setiap baris. Ini berarti bahwa nama kolom yang berulang cukup diwakili oleh sebuah nama  kolom (tidak perlu ada indeks dalam memberi nama kolom).
c. Bentuk normal kedua
Suatu tabel berada dalam bentuk normal kedua (2NF) jika tabel berada dalam bentuk normal pertama, semua kolom bukan kunci primer tergantung sepenuhnya terhadap kunci primer. Suatu kolom disebut tergantung sepenuhnya terhadap kunci primer jika nilai pada suatu kolom selalu bernilai sama untuk suatu nilai kunci primer yang sama.
d. Bentuk normal ketiga
Suatu tabel berada dalam bentuk normal ketiga (3NF) jika  tabel berada dalam bentuk normal kedua, setiap kolom bukan kunci primer tidak memiliki ketergantungan secara transitif terhadap kunci primer.

Sumber:
http://blog.re.or.id/normalisasi.htm

Diagram Alir Data (DAD) atau Data Flow Diagram(DFD)


 Simbol DFD versi Gane/Sarson dan Yourdon/De Marco

Diagram Alir Data (DAD) atau Data Flow Diagram (DFD). Materi yang dibahas adalah sebagai berikut:
  • Pengertian DFD
  • Latar Belakang DFD
  • Manfaat DFD
  • Tujuan DFD
  • Notasi/Simbol DFD
  • Langkan membuat/mengambar DFD
  • Kesalahan dalam menggambar DFD
  • Tips dalam membuat DFD
  • Contoh kasus DFD (Perpustakaan)

Pengertian DFD

Diagram Alir Data (DAD) atau Data Flow Diagram (DFD) merupakan suatu diagram yang menggunakan simbol dalam menggambarkan aliran dari data sistem, yang penggunaannya sangat membantu untuk memahami sistem secara logika, terstruktur dan jelas. DFD merupakan alat bantu dalam menggambarkan atau menjelaskan aliran data. DFD ini sering disebut juga dengan nama Bubble chart, Bubble diagram, model proses, diagram alur kerja, atau model fungsi.

Latar belakang DFD

Suatu yang lazim bahwa ketika menggambarkan sebuah sistem kontekstual data flow diagram yang akan pertama kali muncul adalah interaksi antara sistem dan entitas luar. DFD didisain untuk menunjukkan sebuah sistem yang terbagi-bagi menjadi suatu bagian sub-sistem yang lebih kecil adan untuk menggarisbawahi arus data antara kedua hal yang tersebut diatas. Diagram ini lalu “dikembangkan” untuk melihat lebih rinci sehingga dapat terlihat model-model yang terdapat di dalamnya.

Tujuan DFD

Tujuan DFD adalah :
1. Memberikan indikasi mengenai bagaimana data ditransformasi pada saat data bergerak melalui sistem.
2. Menggambarkan fungsi-fungsi(dan sub fungsi) yang mentransformasi aliran data.

Manfaat DFD

Manfaat DFD adalah :
  • Data Flow Diagram (DFD) adalah alat pembuatan model yang memungkinkan profesional sistem untuk menggambarkan sistem sebagai suatu jaringan proses fungsional yang dihubungkan satu sama lain dengan alur data, baik secara manual maupun komputerisasi.
  • DFD ini adalah salah satu alat pembuatan model yang sering digunakan,khususnya bila fungsi-fungsi sistem merupakan bagian yang lebih penting dan kompleks dari pada data yang dimanipulasi oleh sistem.Dengan kata lain, DFD adalah alat pembuatan model yang memberikan penekanan hanya pada fungsi sistem.
  • DFD ini merupakan alat perancangan sistem yang berorientasi pada alur data dengan konsep dekomposisi dapat digunakan untuk penggambaran analisa maupun rancangan sistem yang mudah dikomunikasikan oleh profesional sistem kepada pemakai maupun pembuat program.

Simbol DFD

Terminator/Kesatuan luar (External Entity)

Setiap sistem pasti mempunyai batas sistem (boundary) yang memisahkan suatu sistem dengan lingkungan luarnya. Kesatuan luar (external entity) merupakan kesatuan (entity) di lingkungan luar sistem yang berupa orang, organisasi atau sistem lainnya yang berada di lingkungan luarnya yang akan membeikan input atau menerima output dari sistem (Jogiyanto, 1989).
Suatu kesatuan luar dapat disimbolkan dengan suatu notasi kotak.

Suatu kesatuan luar dapat disimbolkan dengan suatu notasi kotak.


Notasi terminator/Kesatuan Luar di DFD
Terminator dapat berupa orang, sekelompok orang, organisasi, departemen di dalam organisasi, atau perusahaan yang sama tetapi di luar kendali sistem yang sedang dibuat modelnya. Terminator dapat juga berupa departemen, divisi atau sistem di luar sistem yang berkomunikasi dengan sistem yang sedang dikembangkan.

 

Arus Data (Data Flow)

Arus data (data flow) di DFD diberi simbol suatu panah. Arus data ini mengalir diantara proses (Process), simpanan data (data store) dan kesatuan luar (external entity). Arus data ini menunjukkan arus data yang dapat berupa masukkan untuk sistem atau hasil dari proses sistem.

Notasi Arus Data di DFD
Arus Arus data  data dapat dapat berbentuk  sebagai sebagai berikut berikut :
  • Formulir atau atau dokumen dokumen yang  yang digunakan digunakan perusahaan perusahaan
  • Laporan tercetak tercetak yang  yang dihasilkan dihasilkan sistem sistem
  • Output dilayar  komputer
  • Masukan untuk komputer komputer
  • Komunikasi ucapan
  • Surat atau memo
  • Data yang dibaca atau atau direkam di  file
  • Suatu isian yang  yang dicatat pada buku agenda
  • Transmisi data  dari suatu komputer ke komputer lain

 

Proses (Process)

Suatu proses adalah kegiatan atau kerja yang dilakukan oleh orang, mesin, atau komputer dan hasil suatu arus data yang masuk ke dalam proses untuk dilakukan arus data yang akan keluar dari prises. Suatu proses dapat ditunjukkan dengan simbol lingkaran atau dengan simbol empat persegi panjang tegak dengan sudut-sudutnya tumpul.

Notasi Proses di DFD
Ada beberapa hal yang perlu diperhatikan tentang proses :
  • Proses harus memiliki input dan output.
  • Proses dapat dihubungkan dengan komponen terminator, data store atau proses melalui alur data.
  • Sistem/bagian/divisi/departemen yang sedang dianalisis oleh profesional sistem digambarkan dengan komponen proses.

 

Simpanan Data (Data Store)

Simpanan data (data store) merupakan simpanan dari data yang dapat berupa file atau database di sistem komputer, arsip atau catatan manual, kotak tempat data di meja seseorang, tabel acuan manual, agenda atau buku. Simpanan data di DFD dapat disimbolkan dengan sepasang garis horizontal paralel yang tertutup di salah satu ujungnya.
Simbol dari Simpanan Data di DFD

Syarat Memuat DFD

Syarat-syarat pembuatan DFD ini adalah :
1. Pemberian nama untuk tiap komponen DFD
2. Pemberian nomor pada komponen proses
3. Penggambaran DFD sesering mungkin agar enak dilihat
4. Penghindaran penggambaran DFD yang rumit
5. Pemastian DFD yang dibentuk itu konsiten secara logika

 

Tips-tips dalam membuat DFD

Berikut ini tips-tips dalam membuat DFD :
  1. Pilih notasi sehingga proses yang didekomposisi atau tidak didekomposisi dapat dibaca dengan mudah
  2. Nama proses harus terdiri dari kata kerja dan kata benda
  3. Nama yang dipakai untuk proses, data store, dataflow harus konsisten (identitas perlu)
  4. Setiap level harus konsisten aliran datanya dengan level sebelumnya
  5. Usahakan agar external entity pada setiap level konsisten peletakannya
  6. Banyaknya proses  yang disarankan pada setiap level tidak melebihi 7 proses
  7. Dekomposisi berdasarkan kelompok data lebih disarankan (memudahkan aliran data ke storage yang sama)
  8. Nama Proses yang umum hanya untuk proses yang masih akan didekomposisi
  9. Pada Proses yang sudah tidak didekomposisi, nama Proses dan nama Data harus sudah spesifik
  10. Aliran ke storage harus melalui proses, tidak boleh langsung dari external entity
  11. Aliran data untuk Proses Report .. : harus ada aliran keluar. Akan ada aliran masuk jika perlu parameter untuk mengaktifkan report
  12. Aliran data yang tidak ada datastorenya harus diteliti, apakah memang tidak mencerminkan persisten entity (perlu disimpan dalam file/tabel), yaitu kelak hanya akan menjadi variabel dalam program.

Langkah membuat/menggambar DFD

Tidak ada aturan baku untuk menggambarkan DFD. Tapi dari berbagai referensi yang ada, secara garis besar langkah untuk membuat DFD adalah :

Identifikasi Entitas Luar, Input dan Output

Identifikasi terlebih dahulu semua entitas luar, input dan ouput yang terlibat di sistem.

Buat Diagram Konteks (Diagram Context)

Diagram ini adalah diagram level tertinggi dari DFD yang menggambarkan hubungan sistem dengan lingkungan luarnya.
Caranya :
  • Tentukan nama sistemnya.
  • Tentukan batasan sistemnya.
  • Tentukan terminator apa saja yang ada dalam sistem.
  • Tentukan apa yang diterima/diberikan external entity dari/ke sistem.
  • Gambarkan diagram konteks.



Buat Diagram Level Zero (Overview Diagram)

Diagram ini adalah dekomposisi dari diagram konteks.
Caranya :
  • Tentukan proses utama yang ada pada sistem.
  • Tentukan apa yang diberikan/diterima masing-masing proses ke/dari sistem sambil memperhatikan konsep keseimbangan (alur data yang keluar/masuk dari suatu level harus sama dengan alur data yang masuk/keluar pada level berikutnya).
  • Apabila diperlukan, munculkan data store (master) sebagai sumber maupun tujuan alur data.
  • Hindari perpotongan arus data
  • Beri nomor pada proses utama (nomor tidak menunjukkan urutan proses).
(klik gambar untuk resolusi yang lebih baik)


Overview Diagram

 

Buat Diagram Level Satu

Diagram ini merupakan dekomposisi dari diagram level zero.
Caranya :
  • Tentukan proses yang lebih kecil (sub-proses) dari proses utama yang ada di level zero.
  • Tentukan apa yang diberikan/diterima masing-masing sub-proses ke/dari sistem dan perhatikan konsep keseimbangan.
  • Apabila diperlukan, munculkan data store (transaksi) sebagai sumber maupun tujuan alur data.
  • Hindari perpotongan arus data.
  • Beri nomor pada masing-masing sub-proses yang menunjukkan dekomposisi dari proses sebelumnya. Contoh : 1.1, 1.2, 2


Level dalam DFD

Kesalahan Dalam Pembuatan DFD

Umumnya kesalahan dalam pembuatan   DFD adalah :
(klik gambar untuk resolusi yang lebih baik)

  1. Proses mempunyai input tetapi tidak menghasilkan output. Kesalahan ini disebut dengan black hole (lubang hitam), karena data masuk ke dalam proses dan lenyap tidak berbekas seperti dimasukkan ke dalam lubang hitam.
  2. Proses menghasilkan output tetapi tidak pernah menerima input. Kesalahan ini disebut dengan miracle (ajaib), karena ajaib dihasilkan output tanpa pernah menerima input.
  3. Input yang masuk tidak sesuai dengan kebutuhan proses.
  4. Data Store tidak memiliki keluaran.
  5. Data Store tidak memiliki masukan.
  6. Hubungan langsung antar entitas luar
  7. Masukan langsung entitas data store
  8. Keluaran langsun dari data store ke Entitas  luar.
  9. Hubungan langsung antar data store.
  10. Data masukan dan keluaran yang tidak bersesuaian dalam data store.
Sumber:
http://fairuzelsaid.wordpress.com/2010/01/08/analisis-sistem-informasi-diagram-alir-data-dad-data-flow-diagramdfd/

Followers

  © Blogger template 'A Click Apart' by Ourblogtemplates.com 2008

Back to TOP