Pages

Sabtu, 13 Agustus 2016

Apa Itu Coding ?????

Secara umum atau secara garis besar Coding jika di istilahkan ke dalam bahasa Indonesia adalah Pemrograman. Bahasa yang digunakan oleh OS(Operating System) dalam melakukan suatu tugas tertentu disebut Coding. Karena dalam komputer hanya mengenal yang namanya Bahasa Biner yaitu bilangan 1 dan 0, maka manusia sulit untuk mengerti bahasa ini jadi di buatlah bahasa tingkat tinggi yang dimengerti oleh manusia yang di sebut bahasa pemrograman hight level.
Coding bertujuan tentu untuk membuat program komputer, dan program komputer itu sendiri adalah kumpulan instruksi-instruksi dalam membantu sebuah komputer dalam mengeksekusi untuk melakukan aktifitas tertentu. Banyak bahasa
pemrograman yang sering digunakan untuk membuat sebuah program komputer, seperti VB(Visual Basic), Java, PHP dan masih banyak bahasa pemrograman komputer lainnya.
Untuk lebih mengerti dalam pemrograman alangkah lebih baiknya untuk mempelajari alogritma dan pemrograman karena program takkan pernah lepas dengan yang namanya algoritma selain untuk melatih cara kerja program, juga sebagai acuan atau langkah-langkah dalam membuat program seperti rancangan dan apa-apa saja yang harus di persiapkan.
Jika sudah mengerti dan memahami jalan algoritma, sudah pasti pemrograman akan mudah untuk kita buat tanpa harus banyak menemui kendala, ada pun kendala pasti akan lebih mudah untuk di cari solusi atau jalan keluarnya.
Ayo semua happy coding! 

Rabu, 03 Agustus 2016

Pertemuan I - Kelas XII RPL (SMKN 1 BLEGA)

PENGETAHUAN DASAR USE CASE DIAGRAM

  • Diagram  use case merupakan pemodelan untuk menggambarkan kelakuan (behavior) sistem yang akan dibuat.
  • Diagram use case mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan sistem yang akan dibuat.
  • Diagram use case digunakan untuk mengetahui fungsi apa saja yang ada di dalam sebuah sistem dan siapa saja yang berhak menggunakan fungsi-fungsi tersebut. Yang ditekankan pada diagram ini adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”.
  • Sebuah use case merepresentasikan sebuah interaksi antara aktor (user atau sistem lainya) dengan sistem.
  • Use case menjelaskan secara sederhana fungsi sistem dari sudut pandang user.
use case
Penjelasan  bagian bagian use case diagram
1. System
Menyatakan batasan sistem dalam relasi dengan actor-actor yang menggunakannya (di luar sistem) dan fitur-fitur yang harus disediakan (dalam sistem). Digambarkan dengan segi empat yang membatasi semua use case dalam sistem terhadap pihak mana sistem akan berinteraksi. Sistem disertai label yang menyebutkan nama dari sistem, tapi umumnya tidak digambarkan karena tidak terlalu memberi arti tambahan pada diagram.
2. Actor
Aktor adalah segala hal diluar sistem yang akan menggunakan sistem tersebut
untuk melakukan sesuatu. Bisa merupakan manusia, sistem, atau device yang memiliki peranan dalam keberhasilan operasi dari sistem. Cara mudah untuk menemukan aktor adalah dengan bertanya hal-hal berikut:  SIAPA yang akan menggunakan sistem?  APAKAH sistem tersebut akan memberikan NILAI bagi aktor?
3. Use case
Mengidentifikasi fitur kunci dari sistem. Tanpa fitur ini, sistem tidak akan memenuhi permintaan user/actor. Setiap use case mengekspresikan goal dari sistem yang harus dicapai. Diberi nama sesuai dengan goal-nya dan digambarkan dengan elips dengan nama di dalamnya. Fokus tetap pada goal bukan bagaimana mengimplementasikannya walaupun use case berimplikasi pada prosesnya nanti. Setiap use case biasanya memiliki trigger/pemicu yang menyebabkan use case memulai (misalnya,Pasien mendaftar dan membuat janji baru atau meminta untuk membatalkan atau mengubah janji yang sudah ada ).ada 2 triger pertama triger eksternal, seperti pelanggan memesan atau alarm kebakaran berbunyi, kedua triger temporal, seperti tanggal pengembalian buku terlewati di perpustakaan atau keterlambatan bayar sewa.
4. Assosiation
Mengidentifikasikan interaksi antara setiap actor tertentu dengan setiap use case tertentu. Digambarkan sebagai garis antara actor terhadap use case yang bersangkutan. Asosiasi bisa berarah (garis dengan anak panah) jika komunikasi satu arah, namun umumnya terjadi kedua arah (tanpa anak panah) karena selalu diperlukan demikian.
5 Dependency
Dependensi <<include>>
  • o Mengidentifikasi hubungan antar dua use case di mana yang satu memanggil yang lain.
  • o Jika pada beberapa use case terdapat bagian yang memiliki aktivitas yang sama maka bagian aktivitas tersebut biasanya dijadikan use case tersendiri dengan relasi dependensi setiap use case semula ke use case yang baru ini sehingga memudahkan pemeliharaan.
  •  Digambarkan dengan garis putus-putus bermata panah dengan notasi <<include>> pada garis.
  • o Arah mata panah sesuai dengan arah pemanggilan.
Dependensi <<extend>>
o Jika pemanggilan memerlukan adanya kondisi tertentu maka berlaku dependensi <<extend>>.
o Note: konsep “extend” ini berbeda dengan “extend” dalam Java!
o Digambarkan serupa dengan dependensi <<include>> kecuali arah panah berlawanan.
6. Generalization
Mendefinisikan relasi antara dua actor atau dua use case yang mana salah satunya meng-inherit dan menambahkan atau override sifat dari yang lainnya. Penggambaran menggunakan garis bermata panah kosong dari yang meng-inherit mengarah ke yang di-inherit.
Menyusun Diagram Use case
Langkah-langkah yang dibutuhkan untuk menyusun diagram use case adalah:
  • Mengidentifikasi pelaku bisnis
  • Mengidentifikasi use case persyaratan bisnis
  • Membuat diagram model use case
  • Mendokumentasikan naratif use case persyaratan bisnis
Practical guidance dalam membangun diagram use case:
  • Set konteks dari target sistem.
  • Identifikasi semua actor.
  • Identifikasi semua use case.
  • Definisikan asosiasi antara setiap actor dan setiap use case.
  • Evaluasi setiap actor dan setiap use case untuk mendapatkan kemungkinan perbaikan.
  • Evaluasi setiap use case untuk dependensi <<include>>.
  • Evaluasi setiap use case untuk dependensi <<extend>>.
  • Evaluasi setiap actor dan setiap use case untuk generalisasi.
Use case Description
Setiap use case harus dijelaskan alur prosesnya melalui sebuah deskripsi use case (use case description) atau scenario use case.
Deskripsi use case berisi:
  • Nama use case yaitu penamaan use case yang menggunakan kata kerja
  • Deskripsi yaitu penjelasan mengenai tujuan use case dan nilai yang akan didapatkan oleh aktor
  • Kondisi sebelum (pre-condition) yaitu kondisi-kondisi yang perlu ada sebelum use case dilakukan.
  • Kondisi sesudah (post-condition) yaitu kondisi-kondisi yang sudah dipenuhi ketika uses case sudah dilaksanakan
  • Alur dasar (basic flow) yaitu alur yang menceritakan jika semua aksi yang dilakukan adalah benar atau proses yang harusnya terjadi
  • Alur alternatif (alternatif flow) yaitu alur yang menceritakan aksi alternatif, yang berbeda dari alur dasar.
Mana yg lebih dahulu dibuat use case description atau use case diagram ? sebaiknya use case description lebih dahulu. tapi kalau anda ingin membuat use case digram lebih  dahulu juga tdk apa-apa. Yang penting kedua duanya anda buat untuk menggambarkan/menjelaskan kebutuhan sistem.
contoh  diagram use case

Diagram use case ATM

Diagram use case toko online

Kamis, 14 Juli 2016

Algoritma dan Pemrograman

1.  Apakah Itu Algoritma
Ditinjau dari asal-usul katanya, kata Algoritma sendiri mempunyai sejarah yang aneh. Orang hanya menemukan kata algorism yang berarti proses menghitung dengan angka arab. Anda dikatakan algorist jika Anda menghitung menggunakan angka arab. Para ahli bahasa berusaha menemukan asal kata ini namun hasilnya kurang memuaskan. Akhirnya para ahli sejarah matematika menemukan asal kata tersebut yang berasal dari nama penulis buku arab yang terkenal yaitu Abu Ja’far Muhammad Ibnu Musa Al-Khuwarizmi. Al-Khuwarizmi dibaca orang barat menjadi Algorism. Al-Khuwarizmi menulis buku yang berjudul Kitab Al Jabar Wal-Muqabala yang artinya “Buku pemugaran dan pengurangan” (The book of restoration and reduction). Dari judul buku itu kita juga memperoleh akar kata “Aljabar” (Algebra). Perubahan kata dari algorism menjadi algorithm muncul karena kata algorism sering dikelirukan dengan arithmetic, sehingga akhiran –sm berubah menjadi –thm. Karena perhitungan dengan angka Arab sudah menjadi hal yang biasa, maka lambat laun kata algorithm berangsur-angsur dipakai sebagai metode perhitungan (komputasi) secara umum, sehingga kehilangan makna kata aslinya. Dalam bahasa Indonesia, kata algorithm diserap menjadi algoritma.

2.  Definisi Algoritma
“Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis”. Kata logis merupakan kata kunci dalam algoritma. Langkah-langkah dalam algoritma harus logis dan harus dapat ditentukan bernilai salah atau benar. Dalam beberapa konteks, algoritma adalah spesifikasi urutan langkah untuk melakukan pekerjaan tertentu. Pertimbangan dalam pemilihan algoritma adalah, pertama, algoritma haruslah benar. Artinya algoritma akan memberikan keluaran yang dikehendaki dari sejumlah masukan yang diberikan. Tidak peduli sebagus apapun algoritma, kalau memberikan keluaran yang salah, pastilah algoritma tersebut bukanlah algoritma yang baik.
Pertimbangan kedua yang harus diperhatikan adalah kita harus mengetahui seberapa baik hasil yang dicapai oleh algoritma tersebut. Hal ini penting terutama pada algoritma untuk menyelesaikan masalah yang memerlukan aproksimasi hasil (hasil yang hanya berupa pendekatan). Algoritma yang baik harus mampu memberikan hasil yang sedekat mungkin dengan nilai yang sebenarnya.
Ketiga adalah efisiensi algoritma. Efisiensi algoritma dapat ditinjau dari 2 hal yaitu efisiensi waktu dan memori. Meskipun algoritma memberikan keluaran yang benar (paling mendekati), tetapi jika kita harus menunggu berjam-jam untuk mendapatkan keluarannya, algoritma tersebut biasanya tidak akan dipakai, setiap orang menginginkan keluaran yang cepat. Begitu juga dengan memori, semakin besar memori yang terpakai maka semakin buruklah algoritma tersebut. Dalam kenyataannya, setiap orang bisa membuat algoritma yang berbeda untuk menyelesaikan suatu permasalahan, walaupun terjadi perbedaan dalam menyusun algoritma, tentunya kita mengharapkan keluaran yang sama. Jika terjadi demikian, carilah algoritma yang paling efisien dan cepat.
3.  Beda Algoritma dan Program
Program adalah kumpulan pernyataan komputer, sedangkan metode dan tahapan sistematis dalam program adalah algoritma. Program ditulis dengan menggunakan bahasa pemrograman. Jadi bisa disebut bahwa program adalah suatu implementasi dari bahasa pemrograman. Beberapa pakar memberi formula bahwa :
Program = Algoritma + Bahasa (Struktur Data)
Bagaimanapun juga struktur data dan algoritma berhubungan sangat erat pada sebuah program. Algoritma yang baik tanpa pemilihan struktur data yang tepat akan membuat program menjadi kurang baik, demikian juga sebaliknya.
Pembuatan algoritma mempunyai banyak keuntungan di antaranya :
  • Pembuatan atau penulisan algoritma tidak tergantung pada bahasa pemrograman manapun, artinya penulisan  algoritma independen dari bahasa pemrograman dan komputer yang melaksanakannya.
  • Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman.
  • Apapun bahasa pemrogramannya, output yang akan dikeluarkan sama karena algoritmanya sama.
Beberapa hal yang perlu diperhatikan dalam membuat algoritma :
  • Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah. Deskripsi tersebut dapat ditulis dalam notasi apapun asalkan mudah dimengerti dan dipahami.
  • Tidak ada notasi yang baku dalam penulisan teks algoritma seperti notasi bahasa pemrograman. Notasi yang digunakan dalam menulis algoritma disebut notasi algoritmik.
  • Setiap orang dapat membuat aturan penulisan dan notasi algoritmik sendiri. Hal ini dikarenakan teks algoritma tidak sama dengan teks program. Namun, supaya notasi algoritmik mudah ditranslasikan ke dalam notasi bahasa pemrograman tertentu, maka sebaiknya notasi algoritmik tersebut berkorespondensi dengan notasi bahasa pemrograman secara umum.
  • Notasi algoritmik bukan notasi bahasa pemrograman, karena itu pseudocode dalam notasi algoritmik tidak dapat dijalankan oleh komputer. Agar dapat dijalankan oleh komputer, pseudocode dalam notasi algoritmik harus ditranslasikan atau diterjemahkan ke dalam notasi bahasa pemrograman yang dipilih. Perlu diingat bahwa orang yang menulis program sangat terikat dalam aturan tata bahasanya dan spesifikasi mesin yang menjalannya.
  • Algoritma sebenarnya digunakan untuk membantu kita dalam mengkonversikan suatu permasalahan ke dalam bahasa pemrograman.
  • Algoritma merupakan hasil pemikiran konseptual, supaya dapat dilaksanakan oleh komputer, algoritma harus ditranslasikan ke dalam notasi bahasa pemrograman. Ada beberapa hal yang harus diperhatikan pada translasi tersebut, yaitu :
a.  Pendeklarasian variabel
Untuk mengetahui dibutuhkannya pendeklarasian variabel dalam penggunaan bahasa pemrograman apabila    tidak semua bahasa pemrograman membutuhkannya.
b.  Pemilihan tipe data
Apabila bahasa pemrograman yang akan digunakan membutuhkan pendeklarasian variabel maka perlu hal ini dipertimbangkan pada saat pemilihan tipe data.
c.  Pemakaian instruksi-instruksi
Beberapa instruksi mempunyai kegunaan yang sama tetapi masing-masing memiliki kelebihan dan kekurangan yang berbeda.
d.  Aturan sintaksis
Pada saat menuliskan program kita terikat dengan aturan sintaksis dalam bahasa pemrograman yang akan digunakan.
e.  Tampilan hasil
Pada saat membuat algoritma kita tidak memikirkan tampilan hasil yang akan disajikan. Hal-hal teknis ini diperhatikan ketika mengkonversikannya menjadi program.
f.  Cara pengoperasian compiler atau interpreter.
Bahasa pemrograman yang digunakan termasuk dalam kelompok compiler atau interpreter.
4.  Algoritma Merupakan Jantung Ilmu Informatika
Algoritma adalah jantung ilmu komputer atau informatika. Banyak cabang ilmu komputer yang mengarah ke dalam terminologi algoritma. Namun, jangan beranggapan algoritma selalu identik dengan ilmu komputer saja. Dalam kehidupan sehari-hari pun banyak terdapat proses yang dinyatakan dalam suatu algoritma. Cara-cara membuat kue atau masakan yang dinyatakan dalam suatu resep juga dapat disebut sebagai algoritma. Pada setiap resep selalu ada urutan langkah-langkah membuat masakan. Bila langkah-langkahnya tidak logis, tidak dapat dihasilkan masakan yang diinginkan. Ibu-ibu yang mencoba suatu resep masakan akan membaca satu per satu langkah-langkah pembuatannya lalu ia mengerjakan proses sesuai yang ia baca. Secara umum, pihak (benda) yang mengerjakan proses disebut pemroses (processor). Pemroses tersebut dapat berupa manusia, komputer, robot atau alat-alat elektronik lainnya. Pemroses melakukan suatu proses dengan melaksanakan atau “mengeksekusi” algoritma yang menjabarkan proses tersebut.
Algoritma adalah deskripsi dari suatu pola tingkah laku yang dinyatakan secara primitif yaitu aksi-aksi yang didefenisikan sebelumnya dan diberi nama, dan diasumsikan sebelumnya bahwa aksi-aksi tersebut dapat kerjakan sehingga dapat menyebabkan kejadian.
Melaksanakan algoritma berarti mengerjakan langkah-langkah di dalam algoritma tersebut. Pemroses mengerjakan proses sesuai dengan algoritma yang diberikan kepadanya. Juru masak membuat kue berdasarkan resep yang diberikan kepadanya, pianis memainkan lagu berdasarkan papan not balok. Karena itu suatu algoritma harus dinyatakan dalam bentuk yang dapat dimengerti oleh pemroses. Jadi suatu pemroses harus:
  • Mengerti setiap langkah dalam algoritma.
  • Mengerjakan operasi yang bersesuaian dengan langkah tersebut.
5.  Mekanisme Pelaksanaan Algoritma oleh Pemroses
Komputer hanyalah salah satu pemroses. Agar dapat dilaksanakan oleh komputer, algoritma harus ditulis dalam notasi bahasa pemrograman sehingga dinamakan program. Jadi program adalah perwujudan atau implementasi teknis algoritma yang ditulis dalam bahasa pemrograman tertentu sehingga dapat dilaksanakan oleh komputer.
Kata “algoritma” dan “program” seringkali dipertukarkan dalam penggunaannya. Misalnya ada orang yang berkata seperti ini: “program pengurutan data menggunakan algoritma selection sort”. Atau pertanyaan seperti ini: “bagaimana algoritma dan program menggambarkan grafik tersebut?”. Jika Anda sudah memahami pengertian algoritma yang sudah disebutkan sebelum ini, Anda dapat membedakan arti kata algoritma dan program. Algoritma adalah langkah-langkah penyelesaikan masalah, sedangkan program adalah realisasi algoritma dalam bahasa pemrograman. Program ditulis dalam salah satu bahasa pemrograman dan kegiatan membuat program disebut pemrograman (programming). Orang yang menulis program disebut pemrogram (programmer). Tiap-tiap langkah di dalam program disebut pernyataan atau instruksi. Jadi, program tersusun atas sederetan instruksi. Bila suatu instruksi dilaksanakan, maka operasi-operasi yang bersesuaian dengan instruksi tersebut dikerjakan komputer.
Secara garis besar komputer tersusun atas empat komponen utama yaitu, piranti masukan, piranti keluaran, unit pemroses utama, dan memori. Unit pemroses utama (Central Processing Unit – CPU) adalah “otak” komputer, yang berfungsi mengerjakan operasi-operasi dasar seperti operasi perbandingan, operasi perhitungan, operasi membaca, dan operasi menulis. Memori adalah komponen yang berfungsi menyimpan atau mengingatingat.
Yang disimpan di dalam memori adalah program (berisi operasi-operasi yang akan dikerjakan oleh CPU) dan data atau informasi (sesuatu yang diolah oleh operasi-operasi). Piranti masukan dan keluaran (I/O devices) adalah alat yang memasukkan data atau program ke dalam memori, dan alat yang digunakan komputer untuk mengkomunikasikan hasil-hasil aktivitasnya. Contoh piranti masukan antara lain, papan kunci (keyboard), pemindai (scanner), dan cakram (disk). Contoh piranti keluaran adalah, layar peraga (monitor), pencetak (printer), dan cakram.
Mekanisme kerja keempat komponen di atas dapat dijelaskan sebagai berikut. Mula-mula program dimasukkan ke dalam memori komputer. Ketika program dilaksanakan (execute), setiap instruksi yang telah tersimpan di dalam memori dikirim ke CPU. CPU mengerjakan operasioperasi yang bersesuaian dengan instruksi tersebut. Bila suatu operasi memerlukan data, data dibaca dari piranti masukan, disimpan di dalam memori lalu dikirim ke CPU untuk operasi yang memerlukannya tadi. Bila proses menghasilkan keluaran atau informasi, keluaran disimpan ke dalam memori, lalu memori menuliskan keluaran tadi ke piranti keluaran (misalnya dengan menampilkannya di layar monitor).
6.  Belajar Memprogram dan Belajar Bahasa Pemrograman
Belajar memprogram tidak sama dengan belajar bahasa pemrograman. Belajar memprogram adalah belajar tentang metodologi pemecahan masalah, kemudian menuangkannya dalam suatu notasi tertentu yang mudah dibaca dan dipahami. Sedangkan belajar bahasa pemrograman berarti belajar memakai suatu bahasa aturan-aturan tata bahasanya, pernyataan-pernyataannya, tata cara pengoperasian compiler-nya, dan memanfaatkan pernyataan-pernyataan tersebut untuk membuat program yang ditulis hanya dalam bahasa itu saja. Sampai saat ini terdapat puluhan bahasa pemrogram, antara lain bahasa rakitan (assembly), Fortran, Cobol, Ada, PL/I, Algol, Pascal, C, C++, Basic, Prolog, LISP, PRG, bahasabahasa simulasi seperti CSMP, Simscript, GPSS, Dinamo. Berdasarkan terapannya, bahasa pemrograman dapat digolongkan atas dua kelompok besar :
  • Bahasa pemrograman bertujuan khusus. Yang termasuk kelompok ini adalah Cobol (untuk terapan bisnis dan administrasi). Fortran (terapan komputasi ilmiah), bahasa rakitan (terapan pemrograman mesin), Prolog (terapan kecerdasan buatan), bahasa-bahasa simulasi, dan sebagainya.
  • Bahasa perograman bertujuan umum, yang dapat digunakan untuk berbagai aplikasi. Yang termasuk kelompok ini adalah bahasa Pascal, Basic dan C. Tentu saja pembagian ini tidak kaku. Bahasabahasabertujuan khusus tidak berarti tidak bisa digunakan untuk aplikasi lain. Cobol misalnya, dapat juga digunakan untuk terapan ilmiah, hanya saja kemampuannya terbatas. Yang jelas, bahasabahasa pemrograman yang berbeda dikembangkan untuk bermacam-macam terapan yang berbeda pula.
Berdasarkan pada apakah notasi bahasa pemrograman lebih “dekat” ke mesin atau ke bahasa manusia, maka bahasa pemrograman dikelompokkan atas dua macam :
  • Bahasa tingkat rendah. Bahasa jenis ini dirancang agar setiap instruksinya langsung dikerjakan oleh komputer, tanpa harus melalui penerjemah (translator). Contohnya adalah bahasa mesin. CPU mengambil instruksi dari memori, langsung mengerti dan langsung mengerjakan operasinya. Bahasa tingkat rendah bersifat primitif, sangat sederhana, orientasinya lebih dekat ke mesin, dan sulit dipahami manusia. Sedangkan bahasa rakitan dimasukkan ke dalam kelompok ini karena alasan notasi yang dipakai dalam bahasa ini lebih dekat ke mesin, meskipun untuk melaksanakan instruksinya masih perlu penerjemahan ke dalam bahasa mesin.
  • Bahasa tingkat tinggi, yang membuat pemrograman lebih mudah dipahami, lebih “manusiawi”, dan berorientasi ke bahasa manusia (bahasa Inggris). Hanya saja, program dalam bahasa tingkat tinggi tidak dapat langsung dilaksanakan oleh komputer. Ia perlu diterjemahkan terlebih dahulu oleh sebuah translator bahasa (yang disebut kompilator atau compiler) ke dalam bahasa mesin sebelum akhirnya dieksekusi oleh CPU. Contoh bahasa tingkat tinggi adalah Pascal, PL/I, Ada, Cobol, Basic, Fortran, C, C++, dan sebagainya.
Bahasa pemrograman bisa juga dikelompokkan berdasarkan pada tujuan dan fungsinya. Di antaranya adalah :
7.  Menilai Sebuah Algoritma
Ketika manusia berusaha memecahkan masalah, metode atau teknik yang digunakan untuk memecahkan masalah itu ada kemungkinan bisa banyak (tidak hanya satu). Dan kita memilih mana yang terbaik di antara teknikteknik itu. Hal ini sama juga dengan algoritma, yang memungkinkan suatu permasalahan dipecahkan dengan metode dan logika yang berlainan. Yang menjadi pertanyaan adalah bagaimana mengukur mana algoritma yang terbaik?. Beberapa persyaratan untuk menjadi algoritma yang baik adalah :
  • Tingkat kepercayaannya tinggi (realibility). Hasil yang diperoleh dari proses harus berakurasi tinggi dan benar.
  • Pemrosesan yang efisien (cost rendah). Proses harus diselesaikan secepat mungkin dan frekuensi kalkulasi yang sependek mungkin.
  • Sifatnya general. Bukan sesuatu yang hanya untuk menyelesaikan satu kasus saja, tapi juga untuk kasus lain yang lebih general.
  • Bisa dikembangkan (expandable). Haruslah sesuatu yang dapat kita kembangkan lebih jauh berdasarkan perubahan requirement yang ada.
  • Mudah dimengerti. Siapapun yang melihat, dia akan bisa memahami algoritma Anda. Susah dimengertinya suatu program akan membuat susah di-maintenance (kelola).
  • Portabilitas yang tinggi (portability). Bisa dengan mudah diimplementasikan di berbagai platform komputer.
  • Precise (tepat, betul, teliti). Setiap instruksi harus ditulis dengan seksama dan tidak ada keragu-raguan, dengan demikian setiap instruksi harus dinyatakan secara eksplisit dan tidak ada bagian yang dihilangkan karena pemroses dianggap sudah mengerti. Setiap langkah harus jelas dan pasti.
Contoh :   Tambahkan 1 atau 2 pada x.
Instruksi di atas terdapat keraguan.
  • Jumlah langkah atau instruksi berhingga dan tertentu. Artinya, untuk kasus yang sama banyaknya, langkah harus tetap dan tertentu meskipun datanya berbeda.
  • Efektif. Tidak boleh ada instruksi yang tidak mungkin dikerjakan oleh pemroses yang akan menjalankannya.
Contoh :   Hitung akar 2 dengan presisi sempurna.
Instruksi di atas tidak efektif, agar efektif instruksi tersebut diubah.
Misal : Hitung akar 2 sampai lima digit di belakang koma.
  • Harus terminate. Jalannya algoritma harus ada kriteria berhenti. Pertanyaannya adalah apakah bila jumlah instruksinya berhingga maka pasti terminate?
  • Output yang dihasilkan tepat. Jika langkah-langkah algoritmanya logis dan diikuti dengan seksama maka dihasilkan output yang diinginkan.
Sedangkan kriteria Algoritma menurut Donald E. Knuth adalah :
  1. Input: algoritma dapat memiliki nol atau lebih inputan dari luar.
  2. Output: algoritma harus memiliki minimal satu buah output keluaran.
  3. Definiteness (pasti): algoritma memiliki instruksi-instruksi yang jelas dan tidak ambigu.
  4. Finiteness (ada batas): algoritma harus memiliki titik berhenti (stopping role).
  5. Effectiveness (tepat dan efisien): algoritma sebisa mungkin harus dapat dilaksanakan dan efektif. Contoh instruksi yang tidak efektif adalah: A = A + 0 atau A = A * 1
Namun ada beberapa program yang memang dirancang untuk unterminatable : contoh Sistem Operasi.
8.  Penyajian Algoritma
Penyajian algoritma secara garis besar bisa dalam 2 bentuk penyajian yaitu tulisan dan gambar. Algoritma yang disajikan dengan tulisan yaitu dengan struktur bahasa tertentu (misalnya bahasa Indonesia atau bahasa Inggris) dan pseudocode. Pseudocode adalah kode yang mirip dengan kode pemrograman yang sebenarnya seperti Pascal, atau C, sehingga lebih tepat digunakan untuk menggambarkan algoritma yang akan dikomunikasikan kepada pemrogram. Sedangkan algoritma disajikan dengan gambar, misalnya dengan flowchart. Secara umum, pseudocode mengekspresikan ide-ide secara informal dalam proses penyusunan algoritma. Salah satu cara untuk menghasilkan kode pseudo adalah dengan meregangkan aturan-aturan bahasa formal yang dengannya versi akhir dari algoritma akan diekspresikan. Pendekatan ini umumnya digunakan ketika bahasa pemrograman yang akan digunakan telah diketahui sejak awal.
Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta pernyataannya. Gambaran ini dinyatakan dengan simbol. Dengan demikian setiap simbol menggambarkan proses tertentu. Sedangkan antara proses digambarkan dengan garis penghubung. Dengan menggunakan flowchart akan memudahkan kita untuk melakukan pengecekan bagian-bagian yang terlupakan dalam analisis masalah. Di
samping itu flowchart juga berguna sebagai fasilitas untuk berkomunikasi antara pemrogram yang bekerja dalam tim suatu proyek.
Ada dua macam flowchart yang menggambarkan proses dengan komputer, yaitu :
  • Flowchart sistem yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan prosedur dan proses suatu file dalam suatu media menjadi file di dalam media lain, dalam suatu sistem pengolahan data. Beberapa contoh Flowchart sistem:
  • Flowchart program yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses dan hubungan antar proses secara mendetail di dalam suatu program.
Kaidah-Kaidah Umum Pembuatan Flowchart Program
Dalam pembuatan flowchart Program tidak ada rumus atau patokan yang bersifat mutlak. Karena flowchart merupakan gambaran hasil pemikiran dalam menganalisis suatu masalah dengan komputer. Sehingga flowchart yang dihasilkan dapat bervariasi antara satu pemrogram dengan yang lainnya. Namun secara garis besar setiap pengolahan selalu terdiri atas 3 bagian utama, yaitu :
  1. Input,
  2. Proses pengolahan dan
  3. Output
Untuk pengolahan data dengan komputer, urutan dasar pemecahan suatu masalah:
  1. START, berisi pernyataan untuk persiapan peralatan yang diperlukan sebelum menangani pemecahan persoalan.
  2. READ, berisi pernyataan kegiatan untuk membaca data dari suatu peralatan input.
  3. PROSES, berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai dengan data yang dibaca.
  4. WRITE, berisi pernyataan untuk merekam hasil kegiatan ke peralatan output.
  5. END, mengakhiri kegiatan pengolahan.
Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart, namun ada beberapa anjuran :
  1. Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat.
  2. Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas.
  3. Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END.
Berikut merupakan beberapa contoh simbol flowchart yang disepakati oleh dunia pemrograman :
Untuk memahami lebih dalam mengenai flowchart ini, akan diambil sebuah kasus sederhana.
Kasus : Buatlah sebuah rancangan program dengan menggunakan flowchart, mencari luas persegi panjang.
Solusi : Perumusan untuk mencari luas persegi panjang adalah :
L = p . l
di mana, L adalah Luas persegi panjang, p adalah panjang persegi, dan l adalah lebar persegi.
Keterangan :
  1. Simbol pertama menunjukkan dimulainya sebuah program.
  2. Simbol kedua menunjukkan bahwa input data dari p dan l.
  3. Data dari p dan l akan diproses pada simbol ketiga dengan menggunakan perumusan L = p. l.
  4. Simbol keempat menunjukkan hasil output dari proses dari simbol ketiga.
  5. Simbol kelima atau terakhir menunjukkan berakhirnya program dengan tanda End.
9.  Struktur Dasar Algoritma
Algoritma berisi langkah-langkah penyelesaian suatu masalah. Langkah-langkah tersebut dapat berupa runtunan aksi (sequence), pemilihan aksi (selection), pengulangan aksi (iteration) atau kombinasi dari ketiganya. Jadi struktur dasar pembangunan algoritma ada tiga, yaitu:
  1. Struktur Runtunan
  2. Digunakan untuk program yang pernyataannya sequential atau urutan.
  3. Struktur Pemilihan
  4. Digunakan untuk program yang menggunakan pemilihan atau penyeleksian kondisi.
  5. Struktur Perulangan
  6. Digunakan untuk program yang pernyataannya akan dieksekusi berulang-ulang.
Dalam Algoritma, tidak dipakai simbol-simbol / sintaks dari suatu bahasa pemrograman tertentu, melainkan bersifat umum dan tidak tergantung pada suatu bahasa pemrograman apapun juga. Notasi-notasi algoritma dapat digunakan untuk seluruh bahasa pemrograman manapun.
Definisi Pseudo-code
Kode atau tanda yang menyerupai (pseudo) atau merupakan penjelasan cara menyelesaikan suatu masalah. Pseudo-code sering digunakan oleh manusia untuk menuliskan algoritma.
Contoh kasus : mencari bilangan terbesar dari dua bilangan yang diinputkan
Solusi Pseudo-code :
  1. Masukkan bilangan pertama
  2. Masukkan bilangan kedua
  3. Jika bilangan pertama > bilangan kedua maka kerjakan langkah 4, jika tidak, kerjakan langkah 5.
  4. Tampilkan bilangan pertama
  5. Tampilkan bilangan kedua
Solusi Algoritma :
  1. Masukkan bilangan pertama (a)
  2. Masukkan bilangan kedua (b)
  3. if a > b then kerjakan langkah 4
  4. print a
  5. print b
Contoh Lain Algortima dan Pseudo-code :
10.  Tahapan dalam Pemrograman
Langkah-langkah yang dilakukan dalam menyelesaikan masalah dalam pemrograman dengan komputer adalah :
  • Definisikan Masalah
  • Buat Algoritma dan Struktur Cara Penyelesaian
  • Menulis Program
  • Mencari Kesalahan
  • Uji dan Verifikasi Program
  • Dokumentasi Program
  • Pemeliharaan Program

Jumat, 17 Juni 2016

Cara Mengatasi Error Null Pointer Pada Java

Null Pointer Exception Error!

Programer mana pun (insha allah) pernah mengalami error macam ini. Kadang gara-gara kesalahan konyol seperti teledor tidak menginisiasi instans dari objek. Sering juga karena kesalahan yang suliiiiittt sekali ditemukan. Bagai mencari jarum dalam jerami. Kesalahan kecil yang bikin S.T.R.E.S.S seharian !!!
 Lalu bagaimana mengatasinya?

Dahulu kala saya melakukan “System.out.println(isi dari variabel)” pada baris-baris yang dicurigai sebagai penyebab kesalahan. Agak repot, karena terkadang kesalahan muncul pada titik yang tidak terduga. Seperti kata bang Napi, kesalahan itu ada jika ada kesempatan. (MODE maksa : ON )
Kini, ketika mulai menggali “daleman” NetBeans, ternyata ada satu fitur yang amat membantu, yaitu Debug. Ini bukanlah sejenis makanan khas Yogyakarta, itu mah “gudeg”. Dan bukan pula bunyi orang jatuh, itu mah “gedebuk!”. (duh.. becanda lagi nih..)

Debug adalah fitur untuk menjalankan aplikasi tahap-per-tahap, baris-per-baris. Mudah untuk dipelajari. Dan berdasarkan pengalaman pribadi, fitur ini amat membantu “pencarian jarum yang hilang”.
Bagaimana cara menggunakannya? Yuk kita pelajari bersama. (Saya menggunakan NetBeans 6.5)
Secara umum, debug dapat dikatakan sebagai proses eksekusi program per baris code. Nah, karena dieksekusi per baris code maka dapat dilihat perkembangan yang terjadi pada aplikasi setiap kali suatu baris (perintah) dijalankan. User dapat memperhatikan objek yang muncul, objek yang terhapus, hingga perubahan nilai dari suatu objek.

Kalau baris code-nya ratusan bahkan ribuan, gimana? Berarti dijalankannya pelan-pelan banget donk!! Yuk rame-rame bilang :

Tenang, pemirsa. NetBeans punya cara untuk langsung mengarahkan debug pada baris yang kita tuju. Yaitu dengan menggunakan bookmark breakpoint (penanda) sebagai line breakpoint (baris penghentian eksekusi program terjadi).

Nah, sepertinya sudah cukup “pendahuluan” untuk prosesi debug ini. Sekarang kita lanjut ke praktiknya.
Pertama, pada baris yang ingin dianalisa, berikan bookmarkbreakpoint dengan melakukan klik. Sehingga nanti pada titik yang di-klik akan muncul kotak merah dan latar belakang baris itu menjadi ikutan berwarna merah. Saya contohkan, pada baris ke-47. Misalkan saya ingin mengetahui apakah perintah pada baris ini sukses? (Tandanya dengan adanya nilai untuk atribut “userInfo“)


bookmark
Bookmark
Selanjutnya klik kanan pada proyek utama (main project), pilih menu “Debug”.
Pilih Debug
Pilih Debug
Tunggu beberapa saat. NetBeans sedang berusaha menjalankan debug. Perhatikan panel “output” pada NetBeans. Jika tidak ada masalah maka aplikasi akan berjalan seperti biasa. Namun ada hal yang berbeda pada toolbar NetBeans. Ada penambahan icon-icon baru yang akan menjalankan fungsinya sebagai debugger.


Tambahan Toolbar
Toolbar Untuk Debugging
Langkah selanjutnya, lakukanlah aktifitas pada aplikasi yang akan membuat program mengeksekusi baris yang dicurigai itu.
Voila! Eksekusi program akan berhenti pada titik bookmarkbreakpoint. Di tempat “line number“, akan ada panah berwarna hijau. Dan baris yang segaris dengan panah itu pun akan turut berwarna hijau pada latarnya. Ini menandakan titik dimana ekseskusi program berhenti.


Eksekusi Berhenti Sejenak
Eksekusi Berhenti Sejenak
Jika tombol “step over” di klik satu kali, maka panah hijau akan berpindah ke satu baris kode selanjutnya.
Eksekusi Berlanjut Satu Baris Kode
Eksekusi Berlanjut Satu Baris Kode
Ini menandakan eksekusi baris sebelumnya telah dilakukan. Untuk melihat perubahan yang terjadi tiap kali eksekusi baris, lihat panel tambahan untuk Debug yang ada di dekat panel Output.


Panel Tambahan
Panel Debugging
Ada beberapa pilihan disana. Untuk menganalisa objek gunakan panel local variables. Pada panel ini saya dapat melihat variabel-variabel yang aktif, tipe kelas, dan nilainya.
Misalnya pada contoh, ketika baris ke-47 belum dieksekusi, variabel “userInfo” belum terdaftar.


Variabel "userLogin" Belum Ada
Variabel "userLogin" Belum Ada
Namun ketika baris ke-47 telah dieksekusi, variabel “userInfo” pun muncul beserta nilainya. Ternyata eksekusi baris ini berhasil!


Variabel userInfo Ada dan Bernilai
Variabel userInfo Ada dan Bernilai
Gimana, sederhana kan!
Tapi ingat! Apa yang saya jelaskan disini baru “kail”nya saja, bukan “ikan”nya. Untuk bisa mahir menggunakan debug, perlu iseng-iseng ngutak-atik fungsi khusus debugging.
Sederhana! Tapi manfaatnya besar.
Hore!!! Selamat tinggal “Null Pointer Exception” !!!

Selasa, 31 Mei 2016

Konsep Database Management System (DBMS)

 
 Pembicaraan basisdata tidak dapat dipisahkan dengan teknologi komputer, karena teknologi basisdata dan komputer berkembang secara beriringan. Perkembangan teknologi pengelola basis data mempunyai pengaruh besar terhadap perkembangan penggunaan komputer.
Sebagai contoh pemakaian teknologin basis data dalam pengelolaan data dengan jumlah yang besar untuk keperluan bisnis, teknik, pendidikan, kesehatan, hukum, perpustakaan dan sebagainya akan jauh lebih efektif jika menggunakan sistem basisdata menggunakan komputer.
Peran basis data sangatlah menonjol sekali. Pemrosesan data menjadi andalan yang kehadirannya sangat diperlukan oleh berbagai institusi dan perusahaan. Basis data tidak hanya akan mempercepat pencarian dan pelacakan data dan informasi saja, tetapi juga dapat meningkatkan pelayanan kepada banyak orang dan publik. Hal inilah yang menjadi alasan kenapa saat ini banyak perusahaan yang mulai beralih menggunakan komputer untuk pemrosesan datanya.
Sejarah perkembangan basis data terbentuk setelah masa sistem pemrosesan manual dan sistem pemrosesan berkas. Sistem pemrosesan kertas atau manual merupakan bentuk pemrosesan yang menggunakan dasar berupa setumpuk rekaman yang disimpan dalam rak berkas. Jika berkas diperlukan maka berkas tersebut akan dicari pada rak. Sistem seperti ini masih banyak dijumpai dalam kehidupan sehari-hari. Bentuk nyata adalah sebuah katalog buku telepon saku maupun buku telepon yellow pages dimana orang akan mudah mencari nama orang dengan menggunakan indeks alphabetik walaupun kadang juga membingungkan karena susah untuk mencari dengan index nama atau nomor telepon. Pada saat awal penerapan sistem komputer, sekelompok rekaman disimpan pada sejumlah berkas secara terpisah, dimana sistem ini akan sangat jauh berbeda dengan menggunakan sistem manual terutama dari sisi akurasi dan kecepatan.
Basis Data (Database) dapat dibayangkan sebagai sebuah lemari arsip. Jika kita memiliki sebuah lemari arsip dan berwenang untuk mengelolanya, maka kemungkinan besar kita akan melakukan hal-hal seperti memberi sampul atau map pada kumpulan atau bundel arsip yang akan disimpan, menentukan kelompok jenis arsip, memberi penomoran dengan pola tertentu yang nilainya unik pada setiap sampul atau map, lalu menempatkan arsip-arsip tersebut dengan cara urutan tertentu didalam lemari. Kalaupun hal-hal tersebut tidak seluruhnya dilakukan, paling tidak semua lemari arsip menerapkan suatu aturan dan cara tertentu tentang bagaimana keseluruhan arsip-arsip tadi ditempatkan dan disusun.
Yang paling sederhana adalah tentu menyusun dan menempatkan arsip-arsip tadi sesuai kedatangan atau kronologisnya dan tanpa pengelompokan, hampir tidak akan pernah kita
jumpai adanya lemari arsip yang tidak memiliki aturan dan cara dalam penyusunan penempatan arsip-arsip di dalamnya.
Bahkan untuk sebuah lemari buku atau baju pun, secara alamiah kita seringkali menerapkan suatu cara atau aturan tertentu dalam menyusun dan menempatkan buku – buku atau baju – baju itu didalam sebuah lemari. Upaya penyusunan dan penempatan ini memang baru kita lakukan jika kita rasakan, bahwa buku atau baju tersebut sudah cukup banyak.
Mengapa hal-hal itu kita lakukan ? Jawabannya yaitu kita berharap agar ada suatu saat nanti, sewaktu kita bermaksud untuk mencari dan mengambil kembali arsip, buku atau baju dari lemari kita dapat melakukannya dengan mudah dan cepat.
DEFINISI
Istilah basis data banyak menimbulkan interpretasi yang berbeda. Pada saat maraknya paket pemrograman dbase sebuah berkas dengan ekstensi *.DBF biasa disebut basis data.
Ungkapan ini sebenarnya benar tapi salah. Orang umum menyebutnya salah kaprah. Karena sebenarnya *.DBF adalah objek data dan bukan basis data. Suatu Database Manajemen System (DBMS) akan berisi satu koleksi data yang akan saling berelasi dan 1 set program untuk mengakses data yang sudah diciptakan. Jadi sebenarnya DBMS terdiri dari database dan set program pengelola untuk memproses data. Sebelum membahas basis data lebih lanjut maka akan lebih baik jika istilah data dan informasi dibahas terlebih dahulu.
Basis Data terdiri atas 2 kata, yaitu Basis dan Data. Basis kurang lebih dapat
diartikan sebagai markas atau gudang, tempat bersarang dan berkumpul. Sedangkan Data adalah fakta yang terungkap atau representasi fakta dunia nyata yang mewakili suatu objek seperti manusia (pegawai, siswa, pembeli, pelanggan, barang, hewan, peristiwa, konsep, keadaan dan sebagainya yang direkam dalam bentuk angka, huruf, simbol, teks, gambar, bunyi atau kombinasinya. Jadi basis data adalah sekumpulan data tentang suatu benda atau kejadian yang saling berhubungan satu sama lainnya. Basis Data sendiri dapat didefinisikan dalam sejumlah sudut pandang, seperti :
• Himpunan kelompok data (arsip) yang saling berhubungan yang diorganisasi
sedemikian rupa agar kelak dapat dimanfaatkan kembali dengan cepat dan mudah.
• Kumpulan file, tabel, arsip yang saling berhubungan yang disimpan dalam media penyimpanan elektronis.
• Kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa pengulangan (redundansi) yang tidak perlu untuk memenuhi berbagai kebutuhan.
• Basisdata merupakan penyajian suatu aspek dari dunia nyata (the real world atau miniworld). Misalnya basisdata perbankan, perpustakaan, pertanahan, perpajakan.
• Basisdata merupakan kumpulan data dari berbagai sumber yang secara logika
mempunyai arti implisit. Sehingga data yang terkumpul secara acak dan tanpa punya arti tidak dapat disebut basis data.
• Basisdata perlu dirancang, dibangun dan dikumpulkan untuk suatu tujuan. Basisdata dapat digunakan oleh beberapa pemakai dan beberapa aplikasi yang sesuai dengan kepentingan pemakai.
Dari batasan diatas maka dapat dikatakan bahwa basisdata mempunyai berbagai sumber data dalam pengumpulan data, bervariasi derajad interaksi kejadian dari dunia nyata, dirancangn dan dibangun agar dapat digunakan oleh beberapa pemakai untuk berbagai kepentingan. Yang perlu diperhatikan adalah adanya penyimpanan data yang rangkap. Data yang tersimpan dalam database dapat bervariasi dalam hal jumlah dan tingkat kompleksitasnya. Misalnya saja data mahasiswa dalam suatu program studi akan berbeda penanganannya dengan mengangani data seluruh universitas yang lebih kompleks.
Data yang dikumpulkan akan membentuk suatu informasi, dimana informasi adalah Hasil dari pengolahan data yang berguna untuk membantu membuat keputusan. Kemudian akan membentu suatu Metadata, yaitu data yang menjelaskan data.Dalam sebuah berkas data akan terdapat rekaman-rekaman yang sejenis, sama besar, sama bentuk dan merupakan kumpulan entity yang seragam. Dalam sebuah rekaman (record) akan terdiri dari field-field atau medan yang saling berhubungan untuk menunjukkan bahwa medan tersebut berada dalam satu pengertian yang lengkap dan direkam dalam sebuah rekaman. Basis Data dan lemari arsip sesungguhnya memiliki prinsip kerja dan tujuan yang sama.
Prinsip utamanya adalah pengaturan data dan arsip. Tujuan utamanya adalah kemudahan dan kecepatan dalam pengambilan kembali data atau arsip. Perbedaannya hanya terletak pada media penyimpanan yang digunakan. Jika lemari arsip menggunakan lemari dari besi atau kayu sebagai media penyimpanan, maka basis data menggunakan media penyimpanan elektronis seperti disk (disket atau harddisk). Hal ini merupakan konsekuensi yang logis, karena lemari arsip langsung dikelola dan ditangani oleh manusia, sementara basis data dikelola dan ditangani melalui perantaraan alat mesin pintar elektronis yang kita kenal sebagai komputer. Perbedaan media ini yang selanjutnya melahirkan perbedaan – perbedaan lain yang menyangkut jumlah dan jenis metoda atau cara yang dapat digunakan dalam upaya penyimpanan.
Satu hal yang juga harus diperhatikan bahwa basis data bukan hanya sekedar
penyimpanan data secara elektronis dengan bantuan komputer. Artinya tidak semua bentuk penyimpanan data secara elektronis bisa disebut basis data. Kita dapat menyimpan dokumen berisi data dalam file teks dengan program pengolah kata, file spread sheet dan lain-lain, tetapi tidak bisa disebut sebagai basis data. Karena didalamnya tidak ada pemilahan dan pengelompokkan data sesuai jenis dan fungsi data, sehingga akan menyulitkan pencarian data kelak. Yang sangat ditonjolkan dalam basis data adalah pengaturan, pemilahan, pengelompokkan, pengorganisasian data yang akan kita simpan sesuai fungsi dan jenisnya. Pemilahan, pengelompokan, pengorganisasian ini dapat berbentuk sejumlah file atau tabel terpisah atau dalam bentuk pendefinisian kolom-kolom field-field data dalam setiap file dan tabel.
HERARKI DATA
Secara tradisional data diorganisasikan kedalam suatu herarki yang terdiri atas elemen data, rekaman dan berkas.
• Entity. Adalah orang tempat kejadian atau konsep yang informasinya direkam. Pada bidang administrasi mahasiswa misalnya, entity adalah mahasiswa, buku pembayaran dan nilai ujian. Pada bidang kesehatan entity adalah pasien, dokter, obat, kamar • Atribute / elemen data. Setiap entity mempunyai atribut atau sebutan untuk mewakili suatu entity. Seorang mahasiswa dapat dilihat atributnya, misalnya nama, NIM, alamat, nama orang tua, agama dan jenis kelamin. Atribut juga disebut sebagai data elemen, data field, item data atau medan.
• Data value atau isi. Adalah data aktual atau informasi yang disimpan pada tiap elemen data atau atribut. Atribut nama karyawan akan menunjukkan tempat dimana informasi nama karyawan disimpan, sedangkan data value adalah bejo, mitro yang merupakan isi dari data nama karyawan tersebut.
• Record / Tuple / Rekaman / baris. Adalah gabungan dan kumpulan sejumlah elemen – elemen data yang saling berkaitan menginformasikan tentang entity secara lengkap.
Satu record akan mewakili satu data atau informasi yang mewakili tentang seseorang atau objek lain misalnya NIM, Nama, Alamat, Nomor telepon, email dan sebagainya.
• File / berkas. Adalah kumpulan rekaman data yang berkaitan dengan subjek data.
KEGUNAAN DATABASE / SYARAT DATABASE
Penyusunan suatu basis data digunakan untuk mengatasi berbagai masalah pada penyusunan data, yaitu redundansi dan inkonsistensi data, kesulitan pengaksesan data, isolasi data untuk standarisasi, multipel user atau banyak pemakai, masalah keamanan, masalah kesatuan dan masalah kebebasan data.
1. Redundansi dan Inkonsistensi Data
Jika berkas-berkas dan program aplikasi diciptakan oleh seorang programmer yang berbeda pada waktu yang berselang cukup panjang, maka ada beberapa bagian data akan mengalami penggandaan pada berkas-berkas yang berbeda pula. Sebagai contoh adalah alamat dan nomor telepon pelanggan kita tercatat pada berkas deposito juga pada berkas rekening koran dan juga berkas nasabah. Penyimpanan dibeberapa lokasi untuk data yang sama ini disebut sebagai redundansi dan mengakibatkan pemborosan ruang penyimpanan dan juga biaya untuk mengakses menjadi lebih tinggi.
Penyimpanan data yang sama berulang – ulang dibeberapa berkas dapat
mengakibatkan juga inkonsistensi atau tidak konsisten. Hal ini terjadi jika suatu ketika seorang pelanggan pindah alamat atau nomor telepon, maka seharusnya ketiga berkas yang memuat data tersebut harus diubah juga. Jika salah satu saja dari berkas yang mengandung data tersebut terlewat diupdate maka terjadilah tidak konsisten lagi.
2. Kesulitan dalam Pengaksesan Data
Pada suatu saat akan dibutuhkan untuk mencetak data siapa saja pelanggan yang berada dikode pos 69116 Bangkalan, padahal belum tersedia program yang telah ditulis untuk menampilkan data tersebut. Maka kesulitan akan timbul dan penyelesaiannya untuk itu adalah kearah DBMS yang mampu mengambil data secara langsung dengan bahasa yang familier dan mudah digunakan.
3. Isolasi Data Untuk Standarisasi
Jika data tersebar dalam beberapa berkas dalam bentuk format yang berbeda, maka akan menyulitkan dalam menulis program aplikasi untuk mengambil dan menyimpan data. Maka data dalam satu database harus dibuat 1 format sehingga mudah dibuat program aplikasinya. Dapat dibayangkan betapa sulitnya membuat program aplikasi jika data dibuat dari format teks berkas Pascal, Basic. C++ dan juga format dari versi Lotus 123. Berarti dari sini semua akses data dilakukan dengan cara yang sama.
4. Multiple User atau Banyak Pemakai
Dalam rangka mempercepat semua daya guna sistem dan mendapat responsi waktu yang cepat, beberapa sistem mengijinkan banyak pemakai untuk mengupdate data secara simultan. Salah satu alasan mengapa database dibangun adalah karena nantinya data tersebut akan digunakan oleh banyak orang dalam waktu yang berbeda, diakses oleh program yang sama tapi berbeda orang dan waktu. Semua ini akan memungkinkan untuk terjadi karena data yang diolah tidak tergantung dan menyatu dalam program tapi ia terlepas dalam satu kelompok data.

Pengkabelan Pada Jaringan

Ada beberapa jenis kabel jaringan yang kita ketahui dan sebelum nya juga telah dibahas. Di sini kita akan bahas kabel jaringan yang sangat sering digunakan, yaitu kabel UTP (Unshielded Twisted Pair).
Kabel ini sering sekali digunakan pada jaringan lokal, karena kemudahannya dan harga nya yang murah. Topologi yang sering digunakan dalam membangun sebuah jaringan menggunakan kabel ini adalah Topologi Star (Bintang).

a. Kabel Straight
Kabel ini digunakan untuk menghubungkan beberapa buah komputer menggunakan hub/switch.
Adapun urutan kabel tersebut dari ujung ke ujung sama, ada beberapa standar yang digunakan untuk mengurutkan kabel ini. Namun urutan yang sangat sering digunkaan adalah :


Orange-Putih   —–   Orange
Hijau-Putih  —–  Biru
Biru-Putih  —–  Hijau
Coklat-Putih  —–  Coklat

Begitu juga dengan ujung yang satu nya sama dengan urutan yang di atas.


b. Kabel Cross (Silang)
Kabel jenis ini berfungsi untuk menghubungkan dua buah komputer saja tanpa ada perantara hub/switch.
 


Adapun urutan dan contoh kabelnya sebagai berikut:
1. Ujung yang pertama di buat Straight dan di ujung yang kedua disilangkan.
– Pin 1 dihubungkan dengan Pin 3
– Pin 2 —————————— Pin 6
– Pin 3 —————————— Pin 1
– Pin 4 —————————— Pin 4
– Pin 5 —————————— Pin 5
– Pin 6 —————————— Pin 2
– Pin 7 —————————— Pin 7
– Pin 8 —————————— Pin 8
Urutan nya hanya diubah pada pin 1 – 3 dan 2 – 6.

Membuat Isert Update Delete Pada MySql

Halo sobat-sobat blogger, kali ini saya akan berbagi tentang bagaimana cara memasukkan, mengedit, dan menghapus data dengan php dan mysql. 
            Software yang dibutuhkan pada pembahasan kali ini adalah Notpad atau Notpad++ dan local server, untuk local server saya menggunakan Xampp dan tentunya yang gk boleh ketinggalan adalah web browser bisa Mozilla, google chrome, dll.
            Dalam pembahasan ini, kita akan mengolah data siswa yaitu nis, nama, dan alamat. OK, Langsung saja untuk langkah pertama membuat database di mysql, dengan menjalankan localhost/phpmyadmin di web browser kemudian klik menu sql seperti pada gambar yang dilingkari dengan warna merah berikut :

            Setelah itu akan muncul tampilan seperti berikut :

            Selanjutnya tuliskan query berikut dan setelah itu klik button go seperti yang dilingkari pada gambar di atas (pojok kanan bawah) untuk membuat database di mysql :
Create database db_siswa
Setelah itu klik menu database dan pilih database yang sudah dibuat tadi yaitu db_siswa seperti gambar berikut :


Setelah itu klik menu sql dan tuliskan query berikut untuk membuat table
Create table tb_siswa (
Nis int,
Nama varchar(50),
Alamat varchar(100),
Primary key(Nis)
);
Setelah itu klik go
Jika sudah maka tampilannya seperti berikut :

KONEKSI
Ok, untuk selanjutnya buat folder baru didalam C : Xampp/htdocs dengan nama siswa, setelah itu buka notpad, dan buat koneksi php ke mysql dengan source code dibawah ini
<?php
//variabel database
$nama_host="localhost";
$user_db="root";
$password_db="";
$nama_db="db_siswa";
//koneksi database
$koneksi=mysql_connect($nama_host,$user_db,$password_db);
//bila terkoneksi
if($koneksi){
//pilih database
mysql_select_db($nama_db);
}else{
echo "Database tidak terkoneksi";
}
?>
 Dan simpan folder siswa yang sudah di buat tadi dengan nama koneksi.php
INDEX
Setelah buat file baru dan tuliskan source code berikut, dan simpan dengan nama index.php di folder yang sama denga koneksi.php tadi,
<html>
      <head>
            <title>CRUD Dengan PHP </title>
            <style type="text/css">
            .labelfrm{
                  display:block;
                  font-size:small;
                  margin-top:5px;
            }
            .error{
                  font-size:small;
                  color:red;
            }
            </style>
      </head>
      <body>
      <table align="center">
            <h1>Data Mahasiswa</h1>
     
            <form action="input.php" method="post" id="frm">
                  <label for="nis" class="labelfrm">NIS : </label>
                  <input type="text" name="nis" id="nis" maxlength="10" class="required" size="15"/>
                  <label for="nama" class="labelfrm" >NAMA : </label>
                  <input type="text" name="nama" id="nama" size="30" class="required"/>
                  <label for="alamat" class="labelfrm">ALAMAT : </label>
                  <textarea name="alamat" id="alamat" cols="40" rows="4" class="required"></textarea>
                  <label for="submit" class="labelfrm">&nbsp;</label>
                  <input type="submit" name="input" value="Simpan" id="input"/>
                  <input type="reset" name="clear" value="clear" id="clear"/>
            </form>
      <br><br>
            <a href="data.php">Lihat Data</a>  
      </table>
</html>
Selanjutnya buat file baru dan tuliskan source code berikut lalu simpan dengan nama input.php di folder yang sama
<?php
      include "koneksi.php"; 
      $nis = $_POST['nis'];
      $nama = $_POST['nama'];
      $alamat = $_POST['alamat'];
      $simpan = mysql_query("Insert Into tb_siswa values('$nis','$nama','$alamat')");
      header('location:data.php');
?>
Menampilkan Data
Selanjutnya buat file baru dan tuliskan source code berikut lalu simpan dengan nama data.php
<?php
include "koneksi.php";
$query=mysql_query("select * from tb_siswa");
$jumlah=mysql_num_rows($query);
echo "Jumlah data ada : ".$jumlah;
?>
<table border="1" cellspacing="0">
<tr>
<th>Nis</th>
<th>Nama</th>
<th>ALamat</th>
<th>Aksi</th>
</tr>
<?php
while($row=mysql_fetch_array($query)){
?>
<tr>
<td><?php echo $row['nis'];?></td>
<td><?php echo $row['nama'];?></td>
<td><?php echo $row['alamat'];?></td>
<td>
<a href="delete.php?nis=<?php echo $row['nis']; ?>" onclick="return confirm('Apakah anda
yakin?')"><img src="button-cross.gif" width="20" height="20" /></a>
<a href="update.php?nis=<?php echo $row['nis']; ?>"><img src="button-edit.gif" width="20" height="20" /></a>
</td>
<?php
}
?>
</table><br />
<a href="index.php">Tambah Data</a><br><br>
HAPUS DATA
Selanjutnya buat file baru simpan dengan nama delete.php  untuk menghapus data dan tuliskan source code berikut :
<?php
include "koneksi.php";
$nis=$_GET['nis'];
$query=mysql_query("delete from tb_siswa where nis='$nis'");
if($query){
?><script language="javascript">document.location.href="data.php";</script><?php
}else{
echo "gagal hapus data";
}
?>
EDIT DATA
Untuk mengedit data tuliskan source code berikut dan simpat dengan nama update.php
<?php
include "koneksi.php";
$nis=$_GET['nis'];
$query=mysql_query("select * from tb_siswa where nis='$nis'");
?>
<form action="simpan.php" method="post">
<table border="1">
<?php
while($row=mysql_fetch_array($query)){
?>
<input type="hidden" name="nis" value="<?php echo $nis;?>"/>
<tr>
<td>Nama</td><td><input type="text" name="nama" value="<?php echo $row['nama'];?>" /></td>
</tr>
<tr>
<td>Alamat</td>
<td><textarea cols="20" rows="5" name="alamat"><?php echo $row['alamat'];?></textarea></td>
</tr>
<tr><td><input type="submit" value="Simpan" name="simpan" /></td>
</tr>
<?php
}
?>
</table>
</form>
Dan tuliskan source code berikut untuk memproses update data dan simpan dengan nama simpan.php
<?php
include "koneksi.php";
$id=$_POST['nis'];
$nama=$_POST['nama'];
$alamat=$_POST['alamat'];
$query=mysql_query("update tb_siswa set nama='$nama', alamat='$alamat' where nis='$id'");
if($query){
header ('location:data.php');
?> php
}else{
echo "Gagal update data";
echo mysql_error();
}
?>
Jika sudah jalankan web browser dan masukkan url : localhost/siswa/index.php