Belajar Web Programming PHP, HTML, MySQL dan Tutorial

Sorting Pada Array Demensi 1 Dengan PHP

Sorting Pada Array Demensi 1 Dengan PHP

sorting atau pengurutan pada pemrograman menjadi fitur yang biasanya ada dalam suatu aplikasi yang dihasilkan. Tutorial kali ini adalah bagaimana cara melakukan sorting dalam array demensi 1 menggunakan PHP


Sorting Array Demensi 1
Berikut ini adalah contoh sorting pada array demensi 1
<?php 
$data = array(10,5,7,8,4,2,6,3,1,9);
//cetak sebelum diurutkan
echo "<b>Data sebelum di sorting</b>";
echo "<hr>";
print_r($data);
//urutkan
sort($data);
//cetak hasil
echo "<hr>";
echo "<b>Data setelah sorting</b>";
echo "<hr>";
print_r($data);

echo "<hr>";
echo "<b>Sorting Ascending (ASC) 1 -> 10</b>";
echo "<hr>";
asort($data);
print_r($data);

echo "<hr>";
echo "<b>Sorting Descending (DESC) 10 -> 1</b>";
echo "<hr>";
rsort($data);
print_r($data);

?>

Hasil saat sourcecode dijalankan

Bagaimana cukup mudah bukan? silahkan dikembangkan lagi sesuai dengan kebutuhan.
Pengantar Content Management System

Pengantar Content Management System

Content Management System atau disebut juga sistem manajemen konten adalah sebuah perangkat lunak yang dapat mengelola konten seperti menambah, mengubah dan menghapus konten yang ada dari suatu web. CMS pada umumnya memiliki dua bagian atau elemen penting yaitu content management application (CMA) dan content delivery application (CDA).


Images: emphatictechnologies.com

Elemen CMA digunakan untuk membantu pengguna yang tidak memiliki pengetahuan mengenai HTML agar dapat mengelola pembuatan, pengubahan dan penghapusan isi konten dari suatu website. Biasanya antarmuka dari pengelolaan konten ini telah menerapkan konsep What You See Is What You Get (WYSIWYG). Elemen CDA digunakan untuk menghimpun data-data dan informasi yang telah dikelola oleh pemilik web tersebut untuk memperbaharui konten dari website miliknya. Fitur-fitur pada content management system dapat berbeda-beda, namun pada dasarnya fitur-fitur yang biasanya dimiliki oleh sebuah CMS adalah fitur pengelolaan konten, publikasi berbasis web, pencarian dan pengarsipan.(wikipedia)

Content management system dapat digunakan untuk menampilkan informasi-informasi yang ingin dipublikasikan oleh pemilik website dengan cara yang lebih mudah dan sederhana. Pada awalnya website merupakan suatu halaman HTML statis yang mana konten dari web tersebut hanya bisa diperbaharui secara hardcode atau menulis langsung kode sumber ke file html tersebut. Hal ini tentu akan sangat menyulitkan bagi user yang memiliki web namun tidak mengerti bahasa pemrograman yang digunakan dalam web tersebut. Secara sederhana berdasarkan permasalahan tersebutlah content management system dikembangkan sehingga setiap user baik yang memiliki keahlian pemrograman maupun yang tidak memahami pemrograman namun mengerti bagaimana mengelola konten dari suatu website dapat menggunakannya.

Dengan adanya CMS konten dari website tersebut bersifat dinamis dan dapat diatur sedemikian rupa sesuai dengan keinginan user pemilik web tersebut. Hal ini dimungkinkan karena CMS dapat mengelola tidak sebatas pada isi kontennya saja, namun juga dapat mengelola antarmuka website atau biasa disebut juga dengan desain tampilan web menggunakan template-template yang banyak tersedia luas.

Content management system berbasis web dapat dibuat dan dikembangkan sendiri menggunakan bahasa pemrograman berbasis web yang diketahui penggunanya. Namun dimasa sekarang banyak sekali pengembang-pengembang opensource yang mengembangkan sebuah CMS dengan fitur-fitur terkini yang dapat digunakan oleh user secara luas, tidak terbatas pada yang mengerti pemrograman saja namun juga user umum yang ingin memiliki website sendiri. Contoh-contoh opensource content management system yang dapat diperoleh secara luas antara lain adalah wordpress, joomla, opencart, drupal dan lain sebagainya.

Cara Menghitung Selisih Tanggal Dengan PHP

Cara Menghitung Selisih Tanggal Dengan PHP

Pemrograman PHP memungkinkan kita untuk mengolah data dengan berbagai macam metode. Baik untuk mengolah angka maupun string atau karakter. Pada artikel kali ini akan dibahas bagaimana cara mencari selisih tanggal antara tanggal yang satu dengan tanggal yang lain. Secara konsep hal ini terlihat sederhana, namun secara kode program tentu tidak demikian.

Mencari selisih tanggal tidak seperti mencari selisih dalam angka, dimana kita dapat langsung menggunakan operasi aritmatika di dalamnya. Hal ini dikarenakan tanggal memiliki format tersendiri yaitu YYYY-MM-DD dimana dimulai dari tahun-bulan-tanggal. Secara data format tersebut adalah sebuah string yang terdiri dari angka dan simbol, misalnya 2019-11-11 tentu akan membingungkan bukan bagaimana mencari selisihnya karena operasi aritmatika hanya bisa digunakan untuk bilangan bulat (Integer) maupun bilangan pecahan (float/double)

Namun tidak perlu kita pusingkan lagi karena PHP telah memberikan function yang sangat mendukung untuk mencari selisih tanggal dengan sangat-sangat mudah. Bagaimana caranya? PHP datetime.diff menjadi solusi untuk hal tersebut.

datetime.diff
Berikut adalah contoh kode programnya

<?php
$tanggal1 = new DateTime('2019-11-11');
$tanggal2 = new DateTime('2019-11-13');
$interval = $tanggal1->diff($tanggal2);
echo $interval->format('%R%a Hari');

/*
Hasil dari kode diatas adalah

+2 Hari

dimana %R adalah menghasilkan tanda positif atau negatif tergantung dari selesih tanggal tersebut yang artinya jika positif adalah tanggal2 lebih sekian hari dari tanggal 1 dan begitu juga sebaliknya.

sedangkan %a akan memberikan output angka selisih berapa hari dari kedua tanggal tersebut.
*/
?>

Bagaimana cukup mudah bukan? sourcecode program ini dapat dikembangkan lebih lanjut sesuai kebutuhan dari aplikasi yang diinginkan. Selamat mencoba ya.
Kategori Kategori Aplikasi Web

Kategori Kategori Aplikasi Web

Aplikasi web dari semula telah memiliki kategori-kategori yang disesuaikan dengan peruntukannya. Mungkin dimasa sekarang akan banyak sekali klasifikasi pengkategorian suatu aplikasi web, namun kategori yang telah ditetapkan terlebih dahulu tidak bisa digantikan begitu saja. Hal ini dikarenakan basis dari kategori-kategori terbaru dimungkinkan merujuk daripada kategori-kategori sebelumnya.

Masing-masing kategori mempunyai bidang aplikasi tersendiri dimana telah dikelompokkan khusus sesuai spesifikasinya. Berikut ini adalah fitur-fitur yang relevan dalam mengelompokan aplikasi-aplikasi berbasis web.


images: .imageonline.co.in

1. Document Centric Web Sites
Merupakan pelopor dalam suatu bentuk aplikasi web. Halaman dari aplikasi web berada disuatu server sebagai halaman yang telah jadi dibuat dan bersifat statis. Halaman tersebut tersimpan dalam format dokumen HTML yang akan ditampilkan sesuai dengan permintaan user. Halaman web yang statis ini tentunya akan sangat memerlukan perawatan berkala untuk mengupdate konten-konten yang ada di dalamnya, hal ini tentu menjadi pertimbangan tersendiri dikarenakan biaya yang ditimbulkan kemungkinan akan lebih besar dari perkiraan.

Oleh karena itu sering kali web sites dengan konsep statis seperti ini memiliki informasi yang telah usang (out of date). Namun tidak dapat dipungkiri bahwa kestabilan dan waktu tanggap yang cepat dalam mengakses web dengan konsep ini menjadi pertimbangan tersendiri bagi pengguna yang ingin menggunakan websites sebagai media promosi namun tidak mau direpotkan dengan mengupdate konten secara terus menerus.

2. Transactional Web Applications
Aplikasi web dengan jenis ini telah memiliki antarmuka yang memungkinkan pengguna untuk berinteraksi dengan sistem berbasis web. Dimana hal ini merupakan peningkatan dari aplikasi web jenis sebelumnya. Peningkatan tersebut berada pada konten yang dinamis dan dapat diupdate secara berkala.

Kemampuan untuk dapat mengupdate konten secara berkala tentu memerlukan sebuah sistem basis data di dalam aplikasi web tersebut. Dengan adanya sistem basis data maka peningkatan dari sisi teknologi yang ada menjadi lebih tinggi dari sebelumnya. Hal ini dikarenakan konten-konten dapat disimpan dan diupdate secara berkala melalui antar muka yang langsung berinteraksi dengan pengguna tanpa melakukan perombakan dalam sourcecode aplikasi web. Hal ini dapat dilakukan dengan memanfaatkan penggunaan query secara terstruktur untuk menampilkan konten-konten yang diinginkan oleh end-user.

3. Workflow-based Web Applications
Merupakan aplikasi web yang lebih tinggi lagi tingkatannya dari pada kelompok yang sebelumnya. Disni aplikasi tidak hanya mengelola konten yang dinamis, tetapi juga memiliki workflow yang bertujuan untuk meningkatkan kinerja dari suatu organisasi agar proses bisnis diorganisasi tersebut dapat berjalan dengan baik.

kompleksitas dalam hal layanan yang mungkin dilakukan oleh aplikasi web jenis ini menjadi kunci utama, serta otonomi dari perusahaan dan keperluan workflow untuk menjadi lebih fleksibel dan sempurna adalah tantangan utamanya (Simarmata, 2010). Contoh untuk aplikasi jenis ini adalah Business to Business (B2B) applications seperti e-commerce, e-government atau aplikasi lain yang berbasis workflow semuanya dapat dikelompokan dalam kategori ini. Dengan demikian semua aplikasi web berbasis workflow memerlukan suatu struktur tertentu dari suatu operasi dan proses yang otomatis.

4. Portal Oriented Web Applications
Merupakan suatu aplikasi web yang menyediakan suatu tujuan akses yang terpisah, mungkin untuk sumber informasi dan layanan heterogen (Wege, 2002). Layanan seperti mesin pencari, web browser, serta perusahaan-perusahaan lain yang bergerak untuk memberikan layanan hub sentral yang disebut juga portal dimana menjadi titik akses untuk web dapat diklasifikasikan ke dalam kelompok ini.

Selain portal umum yang disebutkan diatas, terdapat pula portal khusus yang disesuaikan dengan spesifikasinya. Portal-portal tersebut antara lain, portal bisnis, portal pasar, dan portal komunitas. Portal bisnis berfokus pada pengaksesan informasi ke sumber informasi dan layanan yang berbeda melalui intranet maupun ekstranet. Portal pasar online terbagi atas pasar horizontal dimana beroperasi pada pasar bisnis ke konsumen dan bisnis ke bisnis, sedangkan pasar vertikal adalah pasar yang berkonsep pada satu sektor misalnya penyalur dengan pabrik. Sedangkan portal komunitas ditujukan pada kelompok tertentu yang menggunakan antarmuka aplikasi web untuk saling berinteraksi satu sama lain.
Aplikasi Pengecekan Kata Dengan Fungsi PHP levenshtein

Aplikasi Pengecekan Kata Dengan Fungsi PHP levenshtein

levenshtein distance adalah sebuah metode untuk menghitung jarak/distance dari dua buah string. PHP menyediakan fungsi untuk mendukung hal ini yaitu dengan menggunakan function levenshtein(). Cara penggunaannya pun cukup mudah yaitu seperti contoh berikut ini.


<?php
echo levenshtein("Hello World","Hello World")."<br>";
echo levenshtein("Hello World","Helo World")."<br>";
?>
Kedua baris kode diatas akan menghasilkan nilai distance dari perbandingan kedua string tersebut. Hasilnya keduanya bernilai 1. Hasil ini menunjukan bahwa kedua string tersebut memiliki kemiripan yang hampir sama, sehingga kita dapat memberikan koreksi apabila ada kesalahan dalam penulisan huruf dalam string tersebut. Function levenshtein() memberikan nilai 0 apabila dua buah string tersebut sama, dan akan memberikan nilai lain tergantung dari hasil pengolahan sejauh mana perbedaan dari kedua buah string tersebut.

Dengan adanya function levenshtein() tersebut kita dapat membuat sebuah aplikasi sederhana untuk melakukan pengecekan apakah sebuah kata yang kita inputkan benar atau tidak, hal ini menjadi dasar dalam pembuatan grammer checker dalam suatu aplikasi berdasarkan basis data kata-kata yang sudah tersimpan sebelumnya. Tentu dalam aplikasi ini kita belum menggunakan data yang terlalu banyak, namun dengan prinsip yang sama kita dapat menerapkannya menjadi suatu aplikasi sederhana dengan kemampuan pengecekan kata berdasarkan output dari levenshtein distance. Mari kita coba membuatnya.

1. Buat terlebih dahulu array untuk menyimpan data kata-kata
<?php 
$data[0]="application";
$data[1]="computer";
$data[2]="internet";
$data[3]="linux";
$data[4]="software";
$data[5]="user";
$data[6]="website";
$data[7]="windows";
?>

2. Setelah itu kita buat sebuah antarmuka input
3. Kemudian kita juga membuat output hasil dari pengecekan menggunakan levenshtein function tersebut

Berikut hasil akhir sourcecode dari aplikasi pengecekan kata tersebut.
index.php
<h2>Aplikasi Pengecekan Kata Dengan Fungsi PHP levenshtein </h2>
<hr>
<form action="index.php" method="get">
Input
<input type="text" name="string" placeholder="Insert Word">
<input type="submit" value="Process">
</form>
<hr>
<b>Sample Words</b>
<br>
<?php
$data[0]="application";
$data[1]="computer";
$data[2]="internet";
$data[3]="linux";
$data[4]="software";
$data[5]="user";
$data[6]="website";
$data[7]="windows"; 

for($i=0;$i<=7;$i++) {
 echo $data[$i]."<br>";
}
?>
<hr>
<?php 
$string = isset($_GET['string'])?$_GET['string']:"";
$hasil  = array();

if(!empty($string))
{
 for($i=0;$i<=7;$i++) {
 //calculate distance 
 $hasil[$i]['distance'] = levenshtein($data[$i],$string);
 $hasil[$i]['index']    = $i;
 }

 //sort the result
 usort($hasil, function($a, $b) {
     return $a['distance'] - $b['distance'];
 });

 //first array is the result
 $result = $hasil[0]['distance'];
 $index  = $hasil[0]['index'];

 if($result == 0) {
  echo "Kata yang diinputkan adalah <b>".$string."</b><br>";
  echo "Distance/Jarak adalah <b>".$result."</b><br>";
 }
 if($result > 0) {
  echo "Kata yang diinputkan adalah <b>".$string."</b><br>";
  echo "Distance/Jarak adalah <b>".$result."</b><br>";
  echo "Mungkin kata yang dimaksud adalah <b>".$data[$index]."</b>";
 }


}
?>

Berikut hasil akhirnya

Perbedaan Rekayasa Web dan Rekayasa Perangkat Lunak

Perbedaan Rekayasa Web dan Rekayasa Perangkat Lunak

Pada dasarnya rekayasa web memerlukan pemerograman dan pengembangan perangkat lunak seperti pada umumnya. Rekayasa web juga Mengadopsi prinsip-prinsip rekayasa perangkat lunak namun pengembangan sistem berbasis web dan rekayasa web berbeda dengan pengembangan perangkat lunak dan rekayasa perangkat lunak (Simarmata, 2010).

Sistem berbasis web dapat dideskripsikan dengan berbagai sudut pandang. Uraian berikut ini akan menjelaskan secara singkat mengenai seperti apa sistem berbasis web tersebut (Simarmata, 2010).
  • Sistem berbasis web yang ada saat ini kebanyakan adalah halaman web statis dan dinamis
  • Sistem berbasis web dikembangkan dengan berfokus pada menyediakan kreativitas visual, dan penggabungan multimedia dalam penyajian dan antarmuka. Hal ini menjadi penekanan bahwa penyajian dan antarmuka bagi pengguna menjadi hal yang utama
  • Sistem berbasis web saat ini kebanyakan bersifat content-driven dimana pengembangan web yang dihasilkan meliputi pengambangan konten yang disajikan
  • Profil pengguna yang banyak menyebabkan perlunya banyak sistem berbasis web yang berbeda untuk memenuhi kebutuhan pengguna yang beragam.
  • Sifat dan karakteristik dari media web belum dipahami dengan baik seperti media perangkat lunak
  • Web memberikan gambaran mengenai ikatan yang besar antara seni dan ilmu daripada yang dialami di dalam pengembangan perangkat lunak.
  • Sistem berbasis web yang dikembangkan kebanyakan dikerjakan dalam waktu singkat, sehingga terjadi kesulitan dalam menerapkannya pada tingkatan yang sama dengan perencanaan dan pengujian seperti yang dikembangkan dalam pengembangan perangkat lunak.
  • Sistem berbasis web berbeda dengan perangkat lunak apabila dipandang dari media pengiriman datanya.
  • Pengembang yang merancang dan membangun sistem berbasis web biasanya mempunyai keberagaman dalam berbagai bidang ilmu sehingga berpengaruh pada persepsi dan kualitas sistem berbasis web tersebut.
Pengantar Rekayasa Web

Pengantar Rekayasa Web

Di dalam rekaya perangkat lunak kita mengetahui metodologi-metodologi dalam membangun suatu perangkat lunak. Namun dengan semakin kompleksnya suatu aplikasi berbasis web maka terdapat disiplin ilmu sendiri yang merangkum semua hal mengenai aplikasi berbasis web yaitu rekayasa web atau juga dikenal sebagai web engineering.

Rekayasa web adalah suatu aplikasi yang menggunakan pendekatan sistematis, disiplin dan terukur untuk pengembangan, operasi dan pemeliharaan aplikasi berbasis web (web-based applications)(Simarmata, 2010). Dimana dalam perkembangan litratur yang banyak ditemukan mengenai rekayasa web sering kali mengacu pada membangun sebuah situs web, aplikasi berbasis web, serta sistem berbasis web. Pada dasarnya output dari rekayasa web adalah perangkat lunak seperti yang disebutkan diatas, namun proses dan bagaimana mewujudkan hal tersebutlah yang dibahas dalam disiplin ilmu rekayasa web ini.

Dikarenakan sistem berbasis web memiliki sudut pandang tersendiri yang sedikit berbeda dari perangkat lunak pada umumnya. Maka rekayasa web menjadi subdisiplin dari rekayasa perangkat lunak yang membahas mengenai metodologi dalam merancang, mengembangkan, memelihara dan melibatkan aplikasi web(Simarmata, 2010). Dengan demikian harapan dari adanya rekayasa web ini, pengembangan aplikasi web dapat menjadi lebih terkonsep dan terarah sehingga dapat menghasilkan output sistem berbasis web seperti yang telah direncanakan sebelumnya.

Rekayasa web menggunakan sains, rekayasa, dan pendekatan-pendekatan sistematis serta prinsip-prinsip manajemen untuk kesuksesan terhadap pengembangan, penyebaran, pemeliharaan aplikasi dan sistem web berkualitas tinggi (Murugesan, dkk, 1999). Dengan adanya rekayasa web ini pengembang sistem dapat melaksanakan perancangan dan pembangunan aplikasi maupun sistem berbasis web dengan lebih terkontrol dan sistematis. Kesalahan-kesalahan yang mungkin terjadi dapat diminimalkan sehingga kualitas dari sistem berbasis web yang dihasilkan dapat lebih maksimal serta mudah dalam melakukan maintenance atau perawatan secara berkala.

Berdasarkan uraian diatas maka dapat dipahami bahwa rekayasa web menjadi bagian yang sangat penting dalam mengembangkan suatu sistem berbasis web. Perlunya sistematika dan metodologi dalam mengembangkan suatu sistem berbasis web menjadi pedoman agar pengembangan tersebut berjalan dengan baik dan sukses seperti apa yang direncanakan. Dengan demikian tujuan utama dari rekayasa web adalah bagaimana mencapai kesuksesan dalam mengatur kompleksitas serta keanekaragaman pengembangan aplikasi web dengan menggunakan metodologi yang telah disediakan.
Pengantar Dan Metode Pengembangan Sistem Informasi

Pengantar Dan Metode Pengembangan Sistem Informasi

Mengembangkan sistem informasi perlu adanya memperhatikan beberapa aspek. Aspek tersebut antara lain adalah perlu adanya bagian yang menangani system analysis dan system development. System Analysis memiliki peran dalam menggambarkan bagaimana sistem informasi tersebut bekerja dan memahami masalah-masalah yang ada di dalam sistem informasi tersebut. Sedangkan System Development memiliki peran untuk mengembangkan sistem informasi tersebut berdasarkan gambaran cara kerja dan permasalahan yang ada dari sistem informasi yang disampaikan oleh system analysis.




Images: miro.medium.com

Dalam mengembangkan sistem informasi tentunya kita tidak dapat melakukannya tanpa langkah-langkah yang jelas. Langkah-langkah dalam mengembangkan suatu sistem informasi biasanya disebut dengan metodologi pengembangan sistem. Metode untuk mengembangkan sistem sangat banyak sekali tersedia, namun yang paling dikenal adalah metode System Development Life Cycle (SDLC) atau disebut juga dengan Siklus Hidup Pengembangan Sistem. Di dalam SDLC terdapat beberapa metode, salah satunya adalah metode Waterfall. Selain itu terdapat juga metode-metode lain yaitu Protoyping, Rapid Application Development (RAD), Agile Methodologies, serta Extreme Programming.

SDLC merupakan metode yang telah lama dikenal dan sangat baik digunakan untuk mengembangkan sistem yang besar dan kompleks namun sedikit tidak tepat jika digunakan untuk mengembangkan sistem dengan skala kecil. Mengapa demikian? hal ini dikarenakan untuk menjalankan metode SDLC diperlukan sumber daya yang banyak dan memadai, tidak fleksibel karena tahapan-tahapannya yang berkelanjutan, serta tidak dapat dilakukan perubahan yang mendadak apabila terjadi perubahan keputusan yang cepat.

Hal ini dikarenakan SDLC tidak dapat dipandang sebagai sebuah fase tahapan-tahapan pengembangan, namun terdapat berbagai hal yang sangat penting seperti prinsip-prinsip manajemen, teknis perencanaan dan pengawasan, pengorganisasian dan penjadwalan, serta penyelesaian masalah.

System Development Life Cycle (SDLC) menyediakan framework mengenai keseluruhan tahapan pengembangan sistem mulai dari perencanaan awal, analisis, implementasi serta evaluasi dari sistem yang dibangun. Pendekatan dalam SDLC dapat dilakukan dalam dua cara yaitu :
  • Pendekatan prediktif - menganggap proyek dapat direncanakan sebelumnya
  • Pendekatan adaptif - lebih fleksibel, menganggap proyek tidak dapat direncanakan sebelumnya

Secara mendasar SDLC terdari 5 fase atau tahapan. Namun beberapa metode serapan dari SDLC dapat mengembangkannya dengan karakteristik tersendiri. Namun demikian aktifitas utama dari SDLC dapat digambarkan sebagai berikut:
  • Analisa : Memahami dan menganalisis kebutuhan proses bisnis
  • Desain : Merancang dan membuat konsep mengenai sistem yang akan dibangun berdasarkan hasil analisa
  • Implementasi : Melakukan coding/membangun sistem informasi, melakukan pengujian sistem, serta melakukan implementasi sampai ke tahap instalasi sistem

Tiga aktifitas utama tersebut menjadi dasar utama pengembangan sistem informasi berbasis SDLC. Penjelasan detail mengenai tahapan-tahapan/fase-fase dalam SDLC akan dibahas di artikel berikutnya.
Struktur Database Management System (DBMS)

Struktur Database Management System (DBMS)

Database terdiri dari kumpulan data yang terorganisir untuk satu atau beberapa penggunaan, biasanya dalam bentuk digital. Salah satu cara mengklasifikasikan database melibatkan jenis kontennya.

Database digital dikelola menggunakan sistem manajemen basis data, yang menyimpan konten basis data, memungkinkan pembuatan dan pemeliharaan data, serta pencarian dan akses lainnya.




Images: 123rf.com

Network DBMS
DBMS dikatakan sebagai DBMS Jaringan jika hubungan antara data dalam database bertipe banyak-ke-banyak. Hubungan antara banyak-ke-banyak muncul dalam bentuk jaringan. Dengan demikian struktur basis data jaringan sangat rumit karena hubungan banyak-ke-banyak ini di mana satu catatan dapat digunakan sebagai kunci dari keseluruhan basis data.

Basis data jaringan disusun dalam bentuk grafik yang juga merupakan struktur data. Meskipun struktur DBMS seperti itu sangat rumit, tetapi memiliki dua elemen dasar, yaitu catatan dan set untuk menunjuk hubungan banyak-ke-banyak. Bahasa tingkat tinggi terutama seperti Pascal, COBOL dan FORTRAN dll. Digunakan untuk mengimplementasikan catatan dan mengatur struktur.

Hierarchical DBMS
Suatu DBMS dikatakan hierarkis jika hubungan antara data dalam database dibuat sedemikian rupa sehingga satu item data hadir sebagai bawahan yang lain. Hubungan langsung ada antara dua catatan yang disimpan secara berurutan. Struktur data "tree" diikuti oleh DBMS untuk menyusun basis data. Tidak ada gerakan mundur yang dimungkinkan / diizinkan dalam database hierarkis. Sebagian besar DBMS lama seperti Dbase, FoxPro dll bersifat hierarkis yang jarang digunakan sekarang.

Relational DBMS
Suatu DBMS dikatakan sebagai DBMS Relasional atau RDBMS jika hubungan basis data diperlakukan dalam bentuk tabel. Tabel statis yang terdiri dari baris dan kolom digunakan untuk mengatur database dan strukturnya dan sebenarnya adalah array dua dimensi dalam memori komputer. Sejumlah RDBMS tersedia namun yang paling populer adalah Oracle, Sybase, Ingress, Informix, Microsoft SQL Server, Microsoft Access dan sebagainya.

Multidemensional DBMS
Struktur multidimensi mirip dengan model relasional. Dimensi model yang tampak kubus memiliki data yang berkaitan dengan elemen di setiap sel. Struktur ini memberikan spreadsheet seperti tampilan data. Struktur ini mudah dipelihara karena catatan disimpan sebagai atribut mendasar, cara yang sama dengan yang dilihat dan strukturnya mudah dipahami. Performanya yang tinggi telah menjadikannya struktur basis data yang paling populer dalam hal mengaktifkan OnLine Analitycal Process (OLAP).

Object Oriented DBMS
Struktur berorientasi objek memiliki kemampuan untuk menangani grafik, gambar, suara dan teks, tipe data, tanpa sulit berbeda dengan struktur basis data lainnya. Struktur ini populer untuk aplikasi berbasis web multimedia. Itu dirancang untuk bekerja dengan bahasa pemrograman berorientasi objek seperti Java

Operational DBMS
Basis data ini menyimpan data terperinci tentang operasi organisasi.
Mereka biasanya diatur oleh materi, proses volume pembaruan relatif tinggi menggunakan transaksi. Pada dasarnya setiap organisasi besar di dunia menggunakan basis data semacam itu. Contohnya termasuk basis data pelanggan mengenai data pelanggan, basis data karyawan mengenai data karyawan, serta basis data pabrikan yang mencatat rincian tentang komponen produk, inventaris suku cadang






Membuat Aplikasi Menghitung Jumlah Kunjungan Dengan PHP dan TXT

Membuat Aplikasi Menghitung Jumlah Kunjungan Dengan PHP dan TXT

Dalam suatu aplikasi berbasis web yang telah online tentu kita ingin mengetahui seberapa banyak web kita dikunjungi oleh pengunjung web atau user. Visitor counter yang bersifat opensource banyak tersedia di internet, namun apabila kalian ingin mencoba membuatnya sendiri, kita dapat melakukannya dengan bahasa pemrograman PHP dan menyimpan hasil counter tersebut kedalam file txt. Kenapa file txt? karena script sederhana ini hanya menghitung angka kita tidak perlu sampai menggunakan database untuk menyimpan data counter ini.

Hal ini juga membuka pandangan bahwa file txt yang sederhana ternyata dapat dikolaborasikan dengan pemrograman PHP untuk menghasilkan aplikasi-aplikasi yang sesuai dengan kebutuhan dengan efektif dan efisien. Baiklah mari kita mulai saja tutorialnya.

Buat halaman index.php
Halaman index.php digunakan sebagai halaman untuk memvisualisasikan counter yang telah kita buat, berikut ini adalah sourcecode halaman index.php

<?php 
include "webcounter.php";
?>
<!DOCTYPE html>
<html>
<head>
    <title>Aplikasi Menghitung Jumlah Kunjungan Dengan PHP dan TXT</title>
    <style>
        Body {
         margin:0; 
         padding:0;
         font-family: verdana;
         font-size: 12px;
        }
        .header {
            color: #fff;
            text-align: center;
            background-color: #00A6BB;
            line-height: 100px;
        }
        .welcome {
            color:#2924F0;
            text-align: center;
        }
    </style>
</head>
<body>
<div class="header">
<h1>Aplikasi Web Dengan PHP Dan TXT</h1>
</div>
<hr>
<h2 class="welcome">
 Selamat Datang Anda Adalah Pengunjung<br>
 <?php 
 echo "Ke - $visitor";
 ?>
</h2>
</body>
</html>


Kemudian kita membuat file webcounter.php untuk melakukan penghitungan pada saat web dikunjungi. Berikut sourcecode programnya.

<?php 
$filetext = "webcounter.txt";
$counter  = file($filetext);
$visitor  = $counter[0];
$visitor++;
$file     = fopen($filetext,"w");
fwrite($file, $visitor);
fclose($file);
?>

Setelah source tersebut selesai dibuat, kita tinggal membuat file txt dengan nama webcounter.txt untuk menyimpan setiap perubahan jumlah kunjungan. Oke sourcecode telah selesai berikut adalah hasil dari aplikasi web Menghitung Jumlah Kunjungan Dengan PHP dan TXT.


Sourcecode : Download
Pengertian Model Data Dalam Struktur Basis Data

Pengertian Model Data Dalam Struktur Basis Data

Model Data
Struktur basis data adalah model data, kumpulan dari alat-alat konseptual untuk menjelaskan data. Dalam hal ini model data adalah Sekumpulan konsep-konsep untuk menerangkan data, hubungan-hubungan antara data dan batasan-batasan data yang terintegrasi di dalam suatu organisasi.
Model data terdiri dari beberapa jenis, jenis-jenis model data yang diketahui adalah sebagai berikut:
  • OBDM (Object Based Data Model) = Model Data berbasis Obyek
  • RBDM (Record Based Data Model) = Model data berbasis Record
  • PBDM ( Physical Based Data Model) = Model data berbasis Fisik

Tiga jenis model data tersebut memiliki karakternya masing-masing, namum yang akan kita bahas pada artikel berikut ini dimulai dari Model Data Berbasis Objek.



Images: searchdatamanagement.techtarget.com


Model data berbasis objek (Object Based Data Model)
Model data berbasis objek dapat didefinisikan juga sebagai himpunan data dan prosedur atau relasi yang menjelaskan hubungan logik antar data dalam suatu Basis Data berdasarkan pada obyek data.
Berdasarkan pengertian tersebut model data terdiri dari
  • Entity Relationship model = ER-M
  • Semantic model
  • Binary model

Entity Relationship Model (ER - Model)
Entity relationship model atau model relasi entitas merupakan tools dalam memodelkan data untuk menjelaskan hubungan antara masing-masing data di dalam suatu basis data. ER-Model menggambarkan hubungan atau relasi antar objek dimana terdapat aturan terpenting dalam relationship tersebut yaitu mapping cardinalities yang menunjukan jumlah entitas yang dapat dikaitkan dengan entitas lainnya berdasarkan relationship set nya.

Komponen-komponen dalam ER-Model adalah:
  • Entity : obyek dunia nyata yang dapat dibedakan dari obyek yang lain. Entity digambarkan (dalam basis data) dengan menggunakan himpunan atribut.
  • Himpunan entity : Kumpulan entity yang sejenis. Misal : himpunan data pegawai
    • Semua entity dalam himpunan entity memiliki himpunan atribut yang sama
    • Tiap himpunan entity memiliki kunci (key)
    • Tiap atribut memiliki domain.
Di dalam ER-Model dikenal juga mapping cardinality yang menggambarkan hubungan antar entitas, dimana hubungan ini menunjukan jumlah entitas yang dapat dihubungkan dengan entitas lain di dalam ER-Model

Semantic Model
Semantic model memliki konsep yang hampir sama dengan entity relationship model yang mana relasi antar objek tidak dinyatakan dengan simbol, namun menggunakan frasa atau kata-kata (semantic) contoh mengenai semantic model dapat dilihat pada gambar berikut:

Tanda-tanda yang menggunakan dalam semantic model adalah sebagai berikut :
-> : Tanda panah menunjukan adalanya relasi
- : Tanda garis menunjukkan atribut-atribut

Model data semantik adalah metode penataan data untuk mewakili dengan cara logis tertentu. Ini adalah model data konseptual yang mencakup informasi semantik yang menambahkan makna dasar pada data dan hubungan yang ada di antara mereka. Pendekatan ini digunakan untuk pemodelan data dan organisasi data yang memungkinkan pengembangan program aplikasi dengan mudah dan juga untuk pemeliharaan konsistensi data yang mudah ketika data diperbarui.

Binary Model
Model yang ketiga adalah binary model yang menunjukan model data yang memperluas definisi dari entitiy berikut juga atribut-atributnya. Binary data model memiliki tiga jenis relasi, relasi dalam binary model adalah sebagai berikut:

Relasi memiliki tiga tipe biner, yaitu:
  • One-to-one (1:1). Relasi yang terjadi bila setiap entitas hanya memiliki satu kaitan dengan instansi entitas lain.
  • One-to-many (1:M). Relasi yang terjadi bila setiap entitas dapat memiliki lebih dari satu kaitan terhadap entitas lain tetapi tidak kebalikannya.
  • Many-to-many (M:N). Relasi yang terjadi saling berkaitan lebih dari satu dari setiap entitas terhadap entitas lainnya.

Model data diatas dapat digunakan untuk membentuk suatu sistem basis data yang akan dikembangkan sesuai dengan deskripsi dan karakteristik dari sistem yang sedang berjalan. Tujuan pemodelan ini adalah untuk mempermudah pengembang sistem dalam mentransformasikan kondisi yang awalnya menjadi suatu konsep diubah ke dalam bentuk logic agar perintah-perintah SQL yang digunakan untuk mengolah data dalam suatu sistem basis data dapat berjalan dengan baik.

Back To Top