Selasa, 19 Maret 2019

1. ERDish






2. Matrix Diagrams


Design konseptual dan logical


· Data dalam system : pegawai, prodak( antar jemput, pengiriman barang, cleaning), Pelanggan.
· Dalam system usernya : pengguna, pegawai ( driver, pelayana, ada staff).
· User mendaftarkan diri menggunakan no hp & mengisi biodata
· Pegawai di daftarkan oleh pegawai lain dengan mengisi no hp dan biodata
· Proses bisnis : user memilih prodak, setiap prodak memiliki harga yang berbeda.
· Output : mengetahui transaksi penggunaan jasa/ pembelian prodak.


Konseptual Design







Logical Design


Selasa, 26 Februari 2019

Pengertian DBMS
Menurut S, Attre
DBMS adalah software, hardware, firmware dan procedure-procedure yang memanage database. Firmware adalah software yang telah menjadi modul yang tertanam pada hardware (ROM).
Menurut Gordon C. Everest
DBMS adalah manajemen yang efektif untuk mengorganisasi sumber daya data.

PERBANDINGAN DBMS (DATBASE MANAGEMENT SYSTEM)
Beberapa software atau perangkat lunak DBMS yang sering digunakan dalam aplikasi program antara lain :

1. MySQL
MySQL merupakan sebuah perangkat lunak system manajemen basis data SQL (bahasa inggris : data management system) atau DNMS yang multithread, multi-user, dengan sekitar 6 juta instalasi di seluruh dunia. MySQL AB membuat MySQL tersedia sebagai perangkat lunak gratis di bawah lisensi GNU General Public Licenci (GPL), tetapi mereka juga menjual dibawah lisensi komersial untuk kasus-kasus dimana penggunaannya tidak cocok dengan penggunaan GPL . Tidak seperti Apache yang merupakan software yang dikembangkan oleh komunitas umum, dan cipta untuk code sumber dimiliki oleh penulisnya masing-masing, MySQL dimiliki dan disponsori oleh sebuah perusahaan komersial Swedia yaitu MySQL AB. MySQL AB memegang penuh hak cipta hampir atas semua kode sumbernya. Kedua orang Swedia dan satu orang Finlandia yang mendirikan MySQL AB adalah : david axmark, allan larsson, dan Michael “monthy widenius.

Kelebihan MySQL antara lain :

1. free (bebas didownload)

2. stabil dan tangguh

3. fleksibel dengan berbagai pemrograman

4. Security yang baik

5. dukungan dari banyak komunitas

6. kemudahan management database

7. mendukung transaksi

8. perkembangan software yang cukup cepat.

2. ORACLE

Sejarah Singkat Oracle

Perusahaan Oracle didirikan pada tahun 1977 oleh tiga orang programmer, Bob Miner, Ed Oates, dan Larry Ellison yang menjabat sebagai CEO (Chief Executive Officer) selama beberapa tahun sampai saat ini. Perusahaan ini berkonsentrasi pada pembuatan database server di mainframe. Kisah sukses Oracle Corp terkait dengan sejarah dan teori database relasional. Teori database relasional diperkenalkan hampir secara simultan oleh Edgar F. Codd (dalam artikelnya yang terkenal Large shared data banks) dan seorang penemu lain yang kurang dikenal, pada tahun 1969. IBM adalah perusahaan pertama yang menerapkan model relasional ini dalam bahasa SQL, dengan produknya DB2. Sayangnya IBM agak ragu akan keampuhan SQL dan model relasional (nantinya akan berpengaruh pada ketertinggalan IBM di pasar database-server sistem operasi Unix dan Windows ).

Larry melihat perkembangan teori model relasional dan implementasi database relasional dalam DB2. Ia yakin bahwa model relational adalah “way of the future” dan memutuskan untuk mengimplementasikan model relasional di produk Oracle. Sebelumnya produk database Oracle memakai model nonrelasional. Oracle menjadi pesaing kuat bagi IBM dalam pasar database server di mainframe, terutama database bermodel relasional.

Sekitar pertengahan tahun 1980an, Larry mendiversifikasi produk Oracle (versi 6.x) keluar mainframe, yakni ke sistem operasi Unix. Selanjutnya tahun 1996 Oracle Corp mendiversifikasi Oracle (versi 7.x) ke sistem operasi Novell Netware, Windows NT, dan Linux (versi 8.x, tahun 1997). Mulai pertengahan tahun 1990an Oracle Corp mulai membuat juga produk-produk nondatabase-server seperti application server (WebDB, OAS), development tools (Oracle Developer, Oracle Designer), dan application suite (Oracle Apps).

Pengertian Oracle

Oracle adalah relational database management system (RDBMS) untuk mengelola informasi secara terbuka, komprehensif dan terintegrasi. Oracle Server menyediakan solusi yang efisien dan efektif karena kemampuannya dalam hal sebagai berikut:
• Dapat bekerja di lingkungan client/server (pemrosesan tersebar)

* Menangani manajemen space dan basis data yang besar
* Mendukung akses data secara simultan
* Performansi pemrosesan transaksi yang tinggi
* Menjamin ketersediaan yang terkontrol
* Lingkungan yang terreplikasi

Database merupakan salah satu komponen dalam teknologi informasi yang mutlak diperlukan oleh semua organisasi yang ingin mempunyai suatu sistem informasi yang terpadu untuk menunjang kegiatan organisasi demi mencapai tujuannya. Karena pentingnya peran database dalam sistem informasi, tidaklah mengherankan bahwa terdapat banyak pilihan software Database Management System (DBMS) dari berbagai vendor baik yang gratis maupun yang komersial. Beberapa contoh DBMS yang populer adalah MySQL, MS SQL Server, Oracle, IBM DB/2, dan PostgreSQL.

Oracle merupakan DBMS yang paling rumit dan paling mahal di dunia, namun banyak orang memiliki kesan yang negatif terhadap Oracle. Keluhan-keluhan yang mereka lontarkan mengenai Oracle antara lain adalah terlalu sulit untuk digunakan, terlalu lambat, terlalu mahal, dan bahkan Oracle dijuluki dengan istilah “ora kelar-kelar” yang berarti “tidak selesai-selesai” dalam bahasa Jawa. Jika dibandingkan dengan MySQL yang bersifat gratis, maka Oracle lebih terlihat tidak kompetitif karena berjalan lebih lambat daripada MySQL meskipun harganya sangat mahal.
Namun yang mereka tidak perhitungkan adalah bahwa Oracle merupakan DBMS yang dirancang khusus untuk organisasi berukuran besar, bukan untuk ukuran kecil dan menengah. Kebutuhan organisasi berukuran besar tidaklah sama dengan organisasi yang kecil atau menengah yang tidak akan berkembang menjadi besar. Organisasi yang berukuran besar membutuhkan fleksibilitas dan skalabilitas agar dapat memenuhi tuntutan akan data dan informasi yang bervolume besar dan terus menerus bertambah besar.
Kelebihan Dan Kekurangan Oracle

Fleksibilitas adalah kemampuan untuk menyesuaikan diri dengan berbagai kebutuhan dan kondisi khusus yang dapat berubah-ubah. Sebagai contoh, organisasi yang besar membutuhkan server yang terdistribusi dan memiliki redundancy sehingga pelayanan bisa diberikan secara cepat dan tidak terganggu jika ada server yang mati. Organisasi tersebut juga mempunyai berbagai macam aplikasi yang dibuat dengan beragam bahasa pemrograman dan berjalan di berbagai platform yang berbeda. Oracle memiliki banyak sekali fitur yang dapat memenuhi tuntutan fleksibilitas dari organisasi besar tersebut. Berbagai fitur tersebut membuat Oracle menjadi DBMS yang rumit dan sulit untuk dipelajari, namun itu adalah harga yang harus dibayar untuk mendapatkan fleksibilitas yang dibutuhkan dalam sistem informasi di organisasi yang berukuran besar.

Skalabilitas mengacu pada kemampuan untuk terus berkembang dengan penambahan sumber daya. Organisasi yang besar harus mampu melakukan transaksi data dalam volume yang besar dan akan terus bertambah besar. Jika dijalankan hanya pada satu server saja, MySQL memang bisa berjalan lebih cepat daripada Oracle. Namun jika satu server sudah tidak bisa lagi menangani beban yang terus bertambah besar, kinerja MySQL mengalami stagnasi karena keterbatasan server tersebut. Namun Oracle mendukung fitur Grid yang dapat mendayagunakan lebih dari satu server serta data storage dengan mudah dan transparan. Hanya dengan menambahkan server atau data storage ke dalam Oracle Grid, maka kinerja dan kapasitas Oracle dapat terus berkembang untuk mengikuti beban kerja yang terus meningkat.
Demikianlah salah satu (atau dua) keunggulan dari Oracle. Tidaklah mengherankan bahwa meskipun Oracle merupakan DBMS yang paling rumit dan paling mahal di dunia, perusahaan-perusahaan besar memilih Oracle dan tidak menggunakan DBMS seperti MySQL yang gratis karena mereka membutuhkan fleksibilitas dan skalabilitas dalam sistem informasi yang mereka gunakan.

3. FIREBIRH

Sejarah Firebird

Firebird adalah salah satu aplikasi RDBMS (Relational Database Management System) yang bersifat open source. Awalnya adalah perusahaan Borland yang sekitar tahun 2000 mengeluarkan versi beta dari aplikasi database-nya InterBase 6.0 dengan sifat open source. Namun entah kenapa tiba-tiba Borland tidak lagi mengeluarkan versi InterBase secara open source, justru kembali ke pola komersial software. Tapi pada saat yang bersamaan programmer-progammer yang tertarik dengan source code InterBase 6.0 tersebut lalu membuat suatu team untuk mengembangkan source code database ini dan kemudian akhirnya diberinama Firebird.

Pengembangan codebase Firebird 2 dimulai pada awal pengembangan Firebird 1, dengan memporting kode Firebird 1 berbasis C ke dalam bahasa C++ dan merupakan pembersihan kode secara besar-besaran. Firebird 1.5 merupakan rilis pertama dari codebase Firebird 2. Pengembangan ini merupakan satu kemajuan signifikan bagi para developer dan seluruh tim dalam project Firebird, namun tentu ini bukan akhir dari tujuan. Dengan dirilisnya Firebird 1.5, pengembangan lebih lanjut difokuskan pada Firebird versi 2.

Pada bulan April 2003, Yayasan Mozilla memutuskan mengganti nama web browser mereka dari ”Phoenix” menjadi ”Firebird”. Keputusan ini ditanggapi dengan serius oleh proyek Firebird Database dengan asumsi bahwa hal tersebut bisa membingungkan user karena dua produk berbeda menggunakan nama yang identik. Protes atas hal ini berlanjut hingga para pengembang Mozilla membuat satu pernyataan yang jelas bahwa nama Firebird dalam kenyataannya adalah ”Mozilla Firebird”. Pernyataan ini juga membuat memperjelas bahwa nama Mozilla Firebird merupakan sebuah ”codename” atas proyek web browser yang tengah dikerjakan oleh Mozilla. Pada tanggal 9 Februari 2004, Mozilla akhirnya mengganti kembali nama browser mereka sebagai Mozilla Firefox, Dengan demikian hal tersebut secara otomatis menghilangkan kebingungan para pengguna.

Firebird dan Interbase. Firebird (juga disebut FirebirdSQL) adalah sistem manajemen basisdata relasional yang menawarkan fitur-fitur yang terdapat dalam standar ANSI SQL-99 dan SQL-2003. RDBMS ini berjalan baik di Linux, Windows, maupun pada sejumlah platform Unix. Firebird ini diarahkan dan di-maintain oleh FirebirdSQL Foundation. Ia merupakan turunan dari Interbase versi open source milik Borland. Karena itulah Interbase dan Firebird sebenarnya mempunyai CORE yang sama karena awalnya sama” dikembangkan oleh Borland.

Namun dalam perkembangannya, Interbase yang komersial di-bundle oleh Borland menjadi Phoenix, sedangkan Firebird adalah interbase yang dikembangkan oleh komunitas Open Source, sehingga menjadikannya sebagai produk Database Server

yang FREE. Kalau dikaitkan dengan support, tentunya jelas beda karena produk komersial dan free. Dalam konsep teknik programmingnya, ada banyak yang sama, namun pengayaan Firebird lebih banyak dan menjadikannya lebih luwes, terutama dalam koneksi client-server (port) dan integritasnya. Modul-modul kode baru ditambahkan pada Firebird dan berlisensi di bawah Initial Developer’s Public License (IDPL), sementara modul-modul aslinya dirilis oleh Inprise berlisensi di bawah InterBase Public License 1.0. Kedua lisensi tersebut merupakan versi modifikasi dari Mozilla Public License 1.1.

Pengguna Firebird

Open source DBMS ini dimotori oleh para developer Interbase 6.x open-source. Jika pernah menggunakan produk-produk RDBMS, seperti Ms-SQL Server, Oracle, DB2, Informix, dan lain-lain, kita tidak akan kesulitan dalam mengenal Firebird. Mengapa Firebird? banyak orang menggunakan produk RDBMS yang sudah populer, dan harganya pun sangat mahal, sehingga banyak yang ingin belajar harus mencari versi ‘bajakan’ dari produk tersebut untuk bisa belajar. Alasannya sederhana, ingin belajar RDBMS berkelas enterprise tetapi tidak usah membayar.

Kalangan-kalangan seperti inilah yang seringkali memanfaatkan Firebird. Produk ini gratis dan berkelas enterprise. Selain itu Firebird juga digunakan para pelaku bisnis, mereka ingin solusi sistem informasi berskala besar (enterprise), namun mereka juga ingin menghindari harga yang sangat mahal dan biaya maintenance yang juga sangat mahal. Produk ini mampu bersaing dengan produk-produk berkelas seperti Ms-SQL Server atau Oracle sekalipun, dalam segala hal fitur, kecepatan, performa, apapun anda menamakannya, Firebird benar-benar bisa dibandingkan,dan yang lebih penting Firebird is totally Free.

Kalau memang Firebird Hebat, berkelas, dan gratis, mengapa Firebird kurang populer saat ini? jawabannya sederhana, Firebird mempunyai developer yang tangguh, support yang tangguh, tetapi Firebird tidak mempunyai marketing yang tangguh.

Kemampuan dan Kelebihan Firebird

Kita bisa melihat berbagai macam aktivitas dan kemampuan Firebird pada situs officialnya yang beralamat di http://www.firebirdsql.org. Banyak sekali fasilitas menarik yang ditawarkan oleh Firebird (ini bisa dibandingkan dengan fasilitas yang ditawarkan oleh MySQL). Firebird memiliki rata-rata fasilitas yang dimiliki oleh sebuah komersial database misalnya seperti stored procedure, trigger, sistem backup, replikasi dan tools sql yang lengkap. Firebird juga support dengan ANSI SQL yang berarti akan semakin memudahkan Anda dalam proses migrasi antar database platform.

Beberapa kemampuan dari open source DBMS ini antara lain: (1) Firebird support dengan transaksi layaknya pada database komersial lainnya. Sebuah transaksi bisa di-commit atau di-rollback dengan mudah. Bahkan Firebird support dengan savepoint pada suatu transaksi dan kita bisa melakukan rollback kembali ke savepoint yang kita tentukan tadi (ini mirip seperti fasilitas pada Oracle).(2) Firebird menggunakan sintaks standard untuk menciptakan suatu foreign key.(3) Firebird support row level locks, secara default Firebird menggunakan apa yang disebut dengan multi-version

concurrency system. Ini artinya bahwa semua session pada database akan melihat data yang lama sampai data yang baru sudah di-commit ke dalam database. Sebagai alternative untuk locking juga bisa digunakan perintah select… for update with lock.(4) Firebird support stored procedure dan triggers dengan bahasa yang standard sehingga tidak akan membingungkan bagi Anda yang ingin belajar. Triggers pada Firebird mirip seperti yang dijumpai dalam Oracle yaitu menggunakan before atau after insert, update atau delete. Ini berbeda dengan sistem trigger pada Sybase atau MS SQL Server yang menggunakan tabel virtual inserted dan deleted.(5) Firebird bisa melakukan replikasi, solusi untuk replikasi kebanyakan dibuat oleh pihak ketiga, tetapi sebenarnya teknik replikasi ini seperti konsep trigger yang selalu memonitor adanya operasi insert, update atau delete ke dalam database. (6) Firebird support dengan multiple data file, ya, Firebird bisa menggunakan lebih dari satu file sebagai single logic database. Ini sangat berguna bagi para DBA (Database Administrator) untuk mengadministrasi database. (7) Software untuk mengadministrasi mudah didapat karena banyak sekali software untuk mengadministrasi database Firebird, misalnya saja EMS IB Manager, IBConsole, isql, FBManager, Marathon dan banyak lagi yang lainnya. Aplikasi tersebut ada yang komersial atau bahkan ada yang open source. (8) Library connection untuk Firebird yang sudah tersedia ada banyak, ada driver untuk ODBC, JDBC bahkan .NET database provider. Bahkan dari PHP juga sudah disediakan library untuk koneksi ke database Firebird ini. (9) Banyaknya fasilitas support dan maintenance karena banyaknya komunitas Firebird. Di Indonesia sendiri komunitas yang sering menggunakan Firebird biasanya adalah programmer Delphi. Kalau di luar negeri sudah sangat banyak sekali komunitasnya, mulai dari komunitas developer, Firebird architect, Firebird test dan lain sebagainya. Anda bisa mencarinya di Yahoo! Groups http://www.yahoogroups.com) dengan kata kunci Firebird.

4. Microsoft SQL server 2000

Microsoft SQL Server 2000 adalah perangkat lunak relational database management system (RDBMS) yang didesain untuk melakukan proses manipulasi database berukuran besar dengan berbagai fasilitas. Microsoft SQL Server 2000 merupakan produk andalan Microsoft untuk database server. Kemampuannya dalam manajemen data dan kemudahan dalam pengoperasiannya membuat RDBMS ini menjadi pilihan para database administrator.

DBMS merupakan suatu system perangkat lunak untuk memungkinkan user (pengguna) untuk membuat, memelihara, mengontrol, dan mengakses database secara praktis dan efisien. Dengan DBMS, user akan lebih mudah mengontrol dan mamanipulasi data yang ada. Sedangkan RDBMS atau Relationship Database Management System merupakan salah satu jenis DBMS yang mendukung adanya relationship atau hubungan antar table. RDBMS (Relational Database Management System) adalah perangkat lunak untuk membuat dan mengelola database, sering juga disebut sebagai database engine. Istilah RDBMS, database server-software, dan database engine mengacu ke hal yang sama; sedangkan RDBMS bukanlah database. Beberapa contoh dari RDBMS diantaranya Oracle, Ms SQL Server, MySQL, DB2, Ms Access.

5. Visual Foxpro 6.0

Pada tahun 1984, Fox Software memperkenalkan FoxBase untuk menyaingi dBase II Ashton-Tate. Pada saat itu FoxBase hanyalah perangkat lunak kecil yang berisi bahasa pemrograman dan mesin pengolah data. FoxPro memperkenalkan GUI (Graphical Unit Interface) pada tahun 1989. FoxPro berkembang menjadi Visul FoxPro pada tahun 1995. kemampuan pemrogrman prosural tetap dipertahankan dan dilengkapi dengan pemrograman berorietasi objek. Visual FoxPro 6.0 dilengkapi dengan kemampuan untuk berinteraksi dengan produk desktop dan client/server lain dan juga dapat membangun aplikasi yang berbasis Web. Dengan adanya Visual Studio, FoxPro menjadi anggotanya. Sasaran utama Visual Studio adalah menyediakan alat bantu pemrogrman dan database untuk mengembangka perangkat lunak yang memenuhi tuntutan zaman.

Model data yang digunakan Visual FoxPro yaitu model relasional. Model Relasional merupakan model yang paling sederhana sehingga mudah di pahami oleh pengguna, serta merupakan paling popular saat ini. Model ini menggunakan sekumpulan table berdimensi dua (yang disebut relasi atau table), dengan masing-masing relasi tersusun atas tupel atau baris dan atribut. Relasi dirancang sedemikian rupa sehingga dapat menghilangkan kemubajiran data dan mengunakan kunci tamu untuk berhubungan dengan relasi lain.

6. Database Desktop Paradox

Database desktop merupakan suatu program “Add-Ins”, yaitu program terpisah yang langsung terdapat pada Borland Delphi. Pada database desktop terdapat beberapa DBMS yang terintegrasi di dalamnya antara lain Paradox 7, Paradox 4, Visual dBase, Foxpro, Ms. SQL, Oracle, Ms. Acces, db2 dan interbase. Dari beberapa DBMS tersebut kita akan memilih salah satu yaitu Paradox yang akan dibahas lebih lanjut, khususnya Paradox 7. Dalam Paradox 7 ini, pada 1 file database hanya mengizinkan 1 tabel, berbeda dengan DBMS lain yang mengizinkan beberapa tabel pada 1 file database seperti pada Ms. Acces.

Struktur field pada Paradox 7 :

1. Field Name

Field Name merupakan nama pengenal kolom pada suatu tabel. Terdapat beberapa aturan dalam penulisan field name antara lain :

* Panjang maksimum 25 karakter
* Tidak boleh diawai dengan spasi tapi boleh mengandung spasi
* Unik, artinya tidak ada nama kolom yang sama
* Tidak boleh menggunakan tanda koma (,), tanda pipe (|), dan tanda seru (!)

• Hindari kata-kata yang merupakan perintah SQL
2. Type

Digunakan untuk menetukan tipe data yang dapat ditampung dalam field. Macam-macam tipe data yang sering dipakai dalam Paradox adalah sebagai berikut :

3. Size
Merupakan ukuran dari panjang data yang diizinkan untuk suatu field.

4. Key

Dapat berupa primary key sebagai key yang membedakan untuk setiap baris kolom. Syarat untuk primary key adalah unik, artinya tidaka boleh ada data yang memiliki primary key yang sama

INSTALASI ORACLE


buka folder instalasi kalian. Kalian dapat melihat file Setup.exe di dalam folder tersebut. Silahkan kalian jalankan dengan cara klik kanan > Run As Administrator.

Pada configure security updates klik next saja, lalu akan ada warning maka klik Yes.

Pada installation option pastikan kalian memilih Create and Configure a database, 
klik next

Pada system class kalian pilih desktop class kemudian klik next.
Lalu pada typical installation silahkan gunakan setingan defaultnya saja, lalu klik next.

Lalu pada summary akan muncul kumpulan informasi kalian tinggal klik finish dan silahkan ngopi dulu karna proses instalasi ini akan berjalan cukup lama.
Dan terakhir pada database configuration assistant kalian tinggal klik ok saja dan close

Minggu, 17 Februari 2019

Yang di harapkan dari mata kuliah Basis Data


Yang saya harapkan dari Mata Kuliah Basis Data ini semoga matkul ini dapat memberikan ilmu tambahan serta dapat memberikan kemudahan dalam segala hal.

Basis Data

 Basis Data (bahasa Inggris: Database) adalah kumpulan informasi yang disimpan di dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut. Konsep dasar dari basis data adalah kumpulan dari catatan - catatan, atau potongan dari pengetahuan. Istilah basis data mengacu pada koleksi dari data - data yang saling berhubungan, dan perangkat lunaknya  seharusnya mengacu sebagai sistem manajemen basis data (database management system/DBMS). Jika konteksnya sudah jelas, banyak administrator dan programer menggunakan istilah basis data untuk kedua arti tersebut.  

Tujuan Basis Data adalah sebagai berikut :

1. Kecepatan serta kemudahan dalam menyimpan, memanipulasi atau juga menampilkan kembali data tersebut.
2. Efisiensinya ruang penyimpanan, karena dengan basis data, redudansi data akan bisa dihindari.
3. Keakuratan (Accuracy) data.
4. Ketersediaan (Availability) data.
5. Kelengkapan (Completeness) data, bisa melakukan perubahan struktur dalam basis data, baik dalam penambahan objek baru(table) atau dengan penambahan field - field baru pada table
6. Keamanan (Security) data, dapat menentukan pemakai yang boleh menggunakan basis data beserta objek - objek yang ada di dalamnya serta menentukan jenis - jenis operasi apa saja yang boleh dilakukannya
7.Kebersamaan pemakai (Sharability), pemakai basis data bisa lebih dari satu orang, tetapi tetap menjaga atau menghindari masalah baru seperti: inkonsistensi data (karena data yang sama diubah oleh banyak pemakai pada saat yang bersamaan) dan juga kondisi deadlock (karena ada banyak pemakai yang saling menunggu untuk menggunakan data tersebut.

Suatu bangunan basis data memiliki jenjang sebagai berikut:

  • Karakter, merupakan bagian data terkecil yang berupa angka, huruf, atau karakter khusus yang membentuk sebuah item data atau field. Contoh A,B,X,Y,2,1,2,9,0,=,<,> dan sebagainya
  • Field/item, merupakan representasi suatu atribut dan record (rekaman/tupel) yang sejenis yang menunjukkan suatu item dari data. Contoh field nama (berisi data nama-nama pegawai), field departemen (berisi data bagian atau spesifikasi pekerjaan), dan lain sebagainya.
  • Record/rekaman/tupel: Kumpulan dari field membentuk suatu record atau rekaman. Record menggambarkan suatu unit data individu yang tertentu. Contoh: file pegawai, dimana tiap-tiap recordnya berisi kumpulan data nama, alamat, departemen, yang dapat mewakili tiap-tiap data.
  • File, merupakan kumpulan dari record-record yang menggambarkan satu kesatuan data yang sejenis. Contoh file pegawai berisi data tentang semua yang berhubungan dengan pegawai seperti nama pegawai, alamat pegawai, departemen, yang dapat mewakili tiap-tiap data.
  • Database, merupakan kumupan dari file atau tabel yang membentuk suatu database. Contoh database pegawai PT Maju Terus terdiri atas file pegawai, file gaji, file golongan, dan sebagainya.

Konseptual DB

       Perancangan Database adalah proses untuk menentukan isi dan pengaturan data yang dibutuhkan untuk mendukung berbagai rancangan sistem. 

Tujuan Perancangan Database :
  • Untuk memenuhi informasi yang berisikan kebutuhan-kebutuhan user secara khusus dan aplikasi-aplikasinya.
  • Memudahkan pengertian struktur informasi.
  • Mendukung kebutuhan-kebutuhan pemrosesan dan beberapa obyek penampilan (response time, processing time, dan storage space)
Ada dua pendekatan perancangan skema konseptual :

·     Terpusat
      Kebutuhan–kebutuhan dari aplikasi atau kelompok–kelompok pemakai yang berbeda digabungkan menjadi satu set kebutuhan pemakai kemudian dirancang menjadi satu skema konseptual.

·     Integrasi view–view yang ada
Untuk masing–masing aplikasi atau kelompok–kelompok pemakai yang berbeda dirancang sebuah skema eksternal  ( view ) kemudian view – view tersebut disatukan  ke dalam sebuah skema konseptual. 

·     Transaksi
      Merancangan karakteristik dari transaksi–transaksi yang akan di implementasikan tanpa tergantung dengan DBMS yang telah dipilih. Transaksi–transaksi ini digunakan untuk memanipulasi database sewaktu diimplementasikan . Pada tahap ini diidentifikasikan input, output dan fungsional . Transaksi ini antara lain : retrieval, update dan delete, select dll. 

physical model

Model data fisik menggambarkan bagaimana model akan dibangun dalam database. Model database fisik menunjukkan semua struktur tabel, termasuk nama kolom, tipe data kolom, batasan kolom, kunci primer, kunci asing, dan hubungan antar tabel. Fitur model data fisik meliputi:
  • Spesifikasi semua tabel dan kolom.
  • Kunci asing digunakan untuk mengidentifikasi hubungan antar tabel.
  • Denormalisasi dapat terjadi berdasarkan kebutuhan pengguna.
  • Pertimbangan fisik dapat menyebabkan model data fisik menjadi sangat berbeda dari model data logis.
  • Model data fisik akan berbeda untuk RDBMS yang berbeda. Misalnya, tipe data untuk kolom mungkin berbeda antara MySQL dan SQL Server. 
Langkah-langkah untuk desain model data fisik adalah sebagai berikut:
  1. Konversi entitas menjadi tabel.
  2. Ubah hubungan menjadi kunci asing.
  3. Konversi atribut menjadi kolom.
  4. Memodifikasi model data fisik berdasarkan kendala / persyaratan fisik.

Rabu, 17 Oktober 2018

5 CONTOH SCRIPT & ALGORITMA C++

1.  Mencetak Angka Terbalik

Kita mulai memasuki salah satu bagian favorit saya yaitu “mengkonversi” bilangan menjadi kalimat / kata – kata J. Kita memasuki dulu bagian yang mudahnya, menyebut angka dengan terbalik. Kali ini, kita meminta user untuk mengurangi  bilangan apa pun (yang lebih kecil dari 10.000) dengan 10.000. Misalnya, user memasukkan angka 3456, maka 10.000 – 3.456 tentu saja hasilnya = 6.544, tapi kita mengkonversinya dengan menjadikannya sebagai kalimat tapi dibaca terbalik. Jadi, tampilannya adalah: empat empat lima enam J.
Kodenya adalah:

#include <iostream>
using namespace std;

void sntce (int n) {
      switch (n) {
      case 1: cout << "satu "; break;
      case 2: cout << "dua "; break;
      case 3: cout << "tiga "; break;
      case 4: cout << "empat "; break;
      case 5: cout << "lima "; break;
      case 6: cout << "enam "; break;
      case 7: cout << "tujuh "; break;
      case 8: cout << "delapan "; break;
      case 9: cout << "sembilan "; break;
      case 0: cout << "nol "; break;
      default: break;
      }
}

void reverse (int n) {
      int zero, mod;
      zero = n / 10;
      mod = n % 10;

      if (zero == 0 && mod == 0)
            exit;

      else {
            sntce (mod);
            reverse (zero);
      }
}


void main () {
      int in, reduce;
      const int stay = 10000;

      do {
            cout << "";
            cin >> in;
      } while (in > 10000 || in < 1);

      reduce = stay - in;
      reverse (reduce);
      cout << "\n";
}
                 
Logika:

Dari input yang dimasukan oleh user, dikurangi dengan 10.000 lalu hasilnya mulai dari angka paling terakhir sampai dengan angka pertama dikonversi ke dalam bentuk angka. Cara untuk “mengambil” angka terakhir adalah dengan mengambil modulo / sisa bagi dari hasil pengurangan tersebut dibagi 10. Misalnya, hasilnya 6544 dibagi 10 tentu saja sisanya adalah 4. Kemudian hasil bulat dari 6544 dibagi 10 yang adalah 654 akan di bagi lagi dengan 10 dan akan menghasilkan angka 4. Dan hasil bulat dari 654 dibagi 10 yang adalah 65 kembali dibagi dengan 10 dan sisanya adalah 5. Kemudian yang terakhir, karena nilai 6 yang disimpan kemudian dibagi 10, dan sisanya pasti 6, maka 6 diambil.


Penjelasan kode:
Pada bagian utama program, kita membuat beberapa variabel: reduce, in, dan stay. Variabel reduce sendiri berguna untuk menampung hasil pengurangan dari stay, yang telah kita beri nilai konstan dari awal yaitu 10.000. Tapi, kita mau mencegah agar user tidak memasukkan angka yang “tidak lazim” misalnya angka 0 atau 10.001 dan seterusnya. Maka,  kita memakai fungsi do...while (ini sebenarnya “favorit” saya, karena saya ingin selalu mencegah input yang tidak normal) dengan “aturan” bahwa tampilan tersebut (“”) akan selalu terulang bila user memasukkan angka yang lebih besar dari 10.000 atau lebih kecil dari 1. Kita lalu memasukkan reduce ke reverse, itulah akhir dari program utama. Lalu, seperti yang kita lihat di atas, ada 2 fungsi yang kita buat sejak awal: sntce dan reverse. sntce berfungsi untuk mengkonversi angka menjadi sebuah kata dengan fungsi switch, yang saya rasa sudah cukup jelas, bahwa jika inputnya (dalam hal ini adalah sisa bagi dari 10.000 dikurangi input dari user kemudian dibagi 10) adalah 1, maka yang ditampilkan adalah kata “satu”, bila 2, maka ditampilkan adalah “dua”, dst. Sedangkan reverse untuk menghitung hasil pengurangan dari 10.000 dikurangi dengan input dari user (in). Di sini kita memakai dua kondisi, yaitu jika hasil bulat dari n (reduce) dibagi 10 sama dengan 0 dan juga sisa bagi  (mod) sama dengan 0 (nol), dan kondisi di luat itu (tentu saja ini berarti bahwa masih ada bilangan yang harus di bagi 10 atau bisa saja masih ada sisa bagi yang harus di masukkan ke sntce). Jika yag terjadi adalah kondisi kedua, kita “melempar” variabel mod ke sntce (udah tau kan fungsinya?) lalu memangil kembali reverse dengan menggunakan zero sampai akhirnya tidak ada lagi yang bisa dibagi dan tidak ada lagi sisa pembagian. Berikut tampilannya:



2. Baris Ganda

Kali ini Anda diminta untuk membuat / menampilkan berapa banyak baris yang diminta oleh user tapi dengan menggandakan setiap baris yang dicetak di layar. Misalnya, jumlah baris yang diminta adalah 5, maka yang tercetak adalah:

11
2222
333333
44444444
5555555555

Maka kode yang saya buat adalah sebagai berikut:

#include <iostream>
using namespace std;
void main () {
      int in;
      cout << "banyaknya baris: ";
      cin >> in;
      for (int i = 1; i <= in; ++ i) {
            for (int j = 1; j <= i * 2; ++j) {
                  cout << i;
            }
            cout << "\n";
      }
}

Logika:
Logika yang digunakan di sini cukup mirip dengan cara kita mencetak segitiga siku –siku ke layar. Mungkin bisa dibilang ini masih ada “hubungan keluarga” dengan yang tadi J. Disini kita melakukan perulangan untuk mencetak baris yang diminta oleh user. Dalam melakukan perulangan tersebut, kita menampilkan baris yang dicetak pada saat itu. Misalnya jika baris yang sedang dicetak pada saat itu adalah baris kedua, maka yang ditampilkan adalah angka 2. Begitu seterusnya. Perhatikan bahwa angka – angka yang dicetak memiliki sebuah pola. Pada setiap baris yang sedang dicetak pola dari angka –angkanya adalah: baris yang sedang dicetak dikali 2. Misalnya pada baris pertama, jumlah angka / banyaknya  angka yang dicetak adalah 1 X 2 = 2 kali di cetak. Pada baris kedua, banyaknya baris yang di cetak adalah 2 X 2, dst. Hal ini berlanjut sampai baris yang diinginkan oleh user sudah tercetak.

Penjelasan kode:
Pada kode di atas, dibuat variabel untuk menampung berapa banyak baris yang diinginkan oleh user (in), just like usual J. Berdasarkan input dari user tersebut, kita membuat perulangan untuk mencetak baris – baris yang diinginkan user. Dalam perulangan ini, kita “menyisipkan” sebuah perulangan lagi untuk mencetak angka ke layar (dengan menggunakan variabel j). Perulangan ini dilakukan dengan kondisi lebih kecil atau sama dengan i dikali 2. Dimana, i adalah baris yang sedang dikerjakan dan j adalah berapa banyak perulangan yang dilakukan dalam kondisi j lebih kecil atau sama dengan i.

3.  Segitiga Siku - Siku

Gambar segitiga yang akan dibuat adalah seperti  di bawah ini:


                                                                 *
                                                                **
                                                               ***
                                                              ****
                                                             *****
                                                            ******
                                                           *******

Seperti yang kita lihat, bahwa terdapat segitiga siku – siku yang dibuat dengan cara membuat simbol “*” mulai dari satu sampai baris ke – n. Misalnya saja, dengan contoh di atas, user ingin menampilkan segitiga dengan jumlah baris 7, maka ditampilkan gambar seperti di atas. Begitu seterusnya. 
Berikut adalah contoh  kodenya:

#include <iostream>
using namespace std;

void main () {
      int segi1;
      cout << "";
      cin >> segi1;

      for (int j = 1; j <= segi1; ++j) {
            for (int i = 1; i <= segi1; ++i) {
                  if (i <= segi1 - j)
                        cout << " ";

                  else
                        cout << "*";
            }
            cout << "\n";
      }
}

Logika:
Bila diamati baik – baik, akan diketahui bahwa, misalnya, jika ada 7 baris yang diminta, maka ada 6 buah spasi yang dibuat lalu kemudian dicetak tanda asterisk “*”, dan pada baris berikutnya ada 5 buah spasi lalu dicetak dua buah tanda asterisk.  Lalu kemudian pada baris berikutnya ada 4 buah spasi, pada baris berikutnya lagi ada 3 buah spasi, dst. Dapat disimpulkan bahwa jumlah spasi yang dibuat pada baris pertama adalah:
Total baris yang diinginkan – 1

Lalu kemudian pada baris kedua adalah:
Total baris yang diinginkan – 2

Begitu seterusnya.



Dengan demikian diketahui bahwa untuk mecetak spasi menggunakan rumus:
Total baris yang diinginkan – baris yang akan dicetak

Jadi, misalnya baris yang sedang “dikerjakan” adalah baris pertama maka, rumusnya menjadi: total baris yang diinginkan – 1, begitu juga dengan baris kedua menjadi: total baris yang diinginkan – 2, dst. Jika sudah “melewati” keadaan tersebut, dicetak “*”.


4.  Jumlah Deret


Yang dimaksud dengan jumlah deret di sini adalah misalnya saja yang diminta adalah 3 suku deret. Maka dikalkulasikan menjadi:
1 – 1/3 + 1/5 – 1/ 7
Perhatikan bahwa dalam proses kalkulasi tersebut tanda + dan – berubah setiap kali dilakukan proses perhitungan. Baiklah, sekarang kita membahas kodenya:

#include <iostream>
using namespace std;

void main () {
      int mp = -1;
      double satu = 1, ulang = 3;
      int masuk;
      cout << "masukan nilai : ";
      cin >> masuk;
     
      for (int ulang2 = 1; ulang2 <= masuk; ++ulang2) {
            satu = satu + ((1 / ulang) * mp);
            mp *= -1;
            ulang += 2;
      }

      cout << satu << "\n";
}




Logika:
Melakukan perhitungan dari suku pertama sampai suku ke – n (jumlah suku yang diminta oleh user). Mungkin yang paling “mengganggu” pemikiran Anda adalah bagaimana cara untuk membuat tanda + dan minus berubah – ubah setiap kali, kan?  Padahal itu bisa saja diatasi hanya dengan mengalikan  -1 dengan -1 sehingga hasilnya bisa menjadi positif , ya kan? Jika sudah begitu, “urusan” berikutnya menjadi beres .

Penjelasan kode:
Kode di atas juga cukup jelas jika diamati dengan baik. Awalnya kita membuat beberapa “buah” variabel:
·         Yang akan menjadi input bagi / dari user, yaitu masuk
·         Yang akan “menampung” hasil perhitungan, yaitu satu
·         Yang akan menjadi pembagi dan terus dinaikkan nilainya, yaitu ulang
·         Yang akan “merubah” tanda dan jenis perhitungan (dari penjumlahan menjadi pengurangan dan sebaliknya), yaitu mp
Kemudian kita melakukan perulangan dengan menjumlahkan variabel satu yang bernilai 1 (pada awalnya) dengan hasil dari 1 dibagi dengan variabel ulang dimana nilai awalnya adalah 3, dan kemudian ditambah 2 untuk setiap perulangan yang dilakukan kemudian dikalikan dengan variabel mp yang bernilai -1 pada awalnya sehingga menghasilkan perhitungan: 1 –  (1/3).Variabel mp kemudian dikalikan dengan -1 untuk menghasilkan nilai positif sehingga pada perhitungan berikutnya menjadi seperti berikut:
1 – (1/3) + (1/5)
Begitu seterusnya hingga perhitungan mencapai suku ke – n, dan proses perhitungan pun dilakukan sekali lagi dan berhenti. Hasilnya kemudian ditunjukkan oleh variabel satu.



5. Nilai Terbesar Dari 3 Buah Bilangan



Untuk mencari nilai terbesar dari 3 buah bilangan, dalam C++, kode yang saya gunakan adalah sbb:

#include <iostream>
using namespace std;

void main() {
      int a, b, c, d;
      cout << "nilai 1: ";
      cin >> a;
      cout << "nilai 2: ";
      cin >> b;
      cout << "nilai 3: ";
      cin >> d;

      c = (a > b ? a : b);
     
      cout << "nilai terbesar adalah : " << (c > d ? c : d) << "\n";
}

Logika:
Bandingkan nilai pertama dengan nilai kedua. Kemudian yang lebih besar di antara nilai tersebut di bandingkan dengan nilai berikutnya (nilai ke tiga), sehingga di dapat nilai terbesar di antara ketiga variabel tersebut.

Penjelasan kode:
Seperti yang kita lihat di atas, pertama – tama, kita membuat tiga variabel yaitu, variabel a, b, c, dan d. Kemudian, kita meminta user untuk memasukkan nilai untuk variabel a, b, dan d. Setelah itu, kita membandingkan nilai masing – masing variabel. Disini digunakan variabel c sebagai “alat bantu”. Variabel c sendiri menyimpan nilai terbesar antara variabel a dan b. Kemudian ditampilkan nilai yang terbesar yang didapat setelah membandingkan variabel c dan d.