Showing posts with label Perancangan Sistem. Show all posts
Showing posts with label Perancangan Sistem. Show all posts

Wednesday, September 20, 2017

Continuous Integration (CI)



Muhammad Aqshol Rifanza - Sudahkah teman-teman mengenal CI, pertama mendengar saya langsung berfikir Framework Code Igniter, ternyata eh ternyata ( ciyah alaaay ) CI yang dimaksud kali ini adalah Continuous Integration.

Pengertian
Continuous Integration adalah salah satu kegiatan dalam pengembangan aplikasi software dimana seluruh hasil kerja dari developer digabungkan ke dalam satu wadah. Bisa sekali sehari, bisa juga beberapa kali dalam sehari. Kata kuncinya adalah bahwa seluruh hasil kerja digabungkan di satu tempat.


Maksud
Untuk mempermudah dalam pembuatan program kelompok / bersama-sama

Continuous Integration
Dengan menggabungkan hasil kerja minimal sehari sekali, maka kita akan mengurangi kemungkinan konflik besar terjadi. Karena pengerjaan pengembangan aplikasi akan secara otomatis dilakukan sedikit demi sedikit oleh masing-masing developer. Para developer tidak akan menunggu hingga modul besar selesai, namun akan membagi dalam sub-modul agar dapat melakukan commit ke repository minimal sehari sekali. Selain itu, dengan adanya satu wadah dimana seluruh hasil kerja digabungkan, maka bisa dilakukan testing secara menyeluruh. Testing bisa dilakukan dengan manusia atau dengan konsep Test Driven Development, dimana testing dilakukan otomatis.
Kegiatan Continuous Integration ini sendiri memerlukan tools seperti Source Code Managemant System atau VCS (Version Control System). Dan, apabila menggunakan Test Driven Development maka memerlukan tambahan tools Unit testing, dimana untuk bahasa pemrograman PHP yang digunakan di Idea Lounge, kami menggunakan PHPUnit.
Langkah terakhir dari Continuous Integration adalah deployment ke “production server”.  Dimana setelah selesai dilakukan testing, sebuah Continuous Integration system secara otomatis akan membuat “deliverables”. “Deliverables” sendiri merupakan aplikasi yang sudah selesai dan siap ditempatkan di server klien.
Saat ini sudah banyak tools yang tersedia, baik versi open source maupun proprietary. Di antaranya Jenkins, Hudson, Circle CI, Bamboo, Travis, dll. Mereka semua mengotomatisasi langkah-langkah testing dan deployment. Sedangkan untuk Source Code Management System / VCS umumnya menggunakan Subversion atau Git.
Dalam jangka panjang, penggunaan Continous Integration sangat membantu, khususnya dalam mereduksi masalah bugs maupun integration antar developers. Saat ini, Idea Lounge sedang dalam proses deployment Continous Integration, dimana testing and build akan dilakukan secara otomatis. Tentu-nya dengan Continous Integration, aplikasi yang dibuat oleh Idea Lounge akan memiliki kualitas terbaik dan dapat diandalkan.
Kesimpulan
Semua yang dilakukan dijadikan satu dalam satu wadah.
Referensi
  • http://getilo.com/id/continuous-integration/

Monday, September 18, 2017

ERD (Entity Relationship Diagram)



Muhammad Aqshol Rifanza - Kali ini saya akan berbagi tentang ERD

Pengertian
Dalam rekayasa perangkat lunak, sebuah Entity-Relationship Model (ERM) merupakan abstrak dan konseptual representasi data. Entity-Relationship adalah salah satu metode pemodelan basis data yang digunakan untuk menghasilkan skema konseptual untuk jenis/model data semantik sistem. Dimana sistem  seringkali memiliki basis data relasional, dan ketentuannya bersifat top-down. Diagram untuk menggambarkan model Entitiy-Relationship ini disebut Entitiy-Relationship diagram, ER diagram, atau ERD.

Tujuan
Untuk membuat perancangan sistem sebelum membuat project.

Alat da Bahan

  • Laptop
  • Diagram Dia
Notasi ERD
Ada sejumlah konvensi mengenai Notasi  ERD. Notasi klasik sering digunakan untuk model konseptual. Berbagai notasi lain juga digunakan untuk menggambarkan secara logis dan fisik dari suatu basis data, salah satunya adalah IDEF1X.


Notasi-notasi simbolik yang digunakan dalam Entity Relationship Diagram adalah sebagai berikut:


  • Entitas, Adalah segala sesuatu yang dapat digambarkan oleh data. Entitas juga dapat diartikan sebagai individu yang mewakili sesuatu yang nyata (eksistensinya) dan dapat dibedakan dari sesuatu yang lain (Fathansyah, 1999). Ada dua macam entitas yaitu entitas kuat dan entitas lemah. Entitas kuat merupakan entitas yang tidak memiliki ketergantungan dengan entitas lainnya. Contohnya entitas anggota. Sedangkan entitas lemah merupakan entitas yang kemunculannya tergantung pada keberadaaan entitas lain dalam suatu relasi.
  • Atribut, Atribut merupakan pendeskripsian karakteristik dari entitas. Atribut digambarkan dalam bentuk lingkaran atau elips. Atribut yang menjadi kunci entitas atau key diberi garis bawah.
  • Relasi atau Hubungan, Relasi menunjukkan adanya hubungan diantara sejumlah entitas yang berasal dari himpunan entitas yang berbeda. Penghubung antara himpunan relasi dengan himpunan entitas dan himpunan entitas dengan atribut dinyatakan dalam bentuk garis.

Tahap pertama pada desain sistem informasi menggunakan model ER adalah menggambarkan kebutuhan informasi atau jenis informasi yang akan disimpan dalam database. Teknik pemodelan data dapat digunakan untuk menggambarkan setiap ontologi (yaitu gambaran dan klasifikasi dari istilah yang digunakan dan hubungan anatar informasi) untuk wilayah tertentu.
Tahap berikutnya disebut  desain logis, dimana data dipetakan ke model data yang logis, seperti model relasional.  Model data yang loguis ini kemudian dipetakan menjadi model fisik , sehingga kadang-kadang, Tahap kedua ini disebut sebagai “desain fisik”.
Secara umum metodologi ERD sebagai berikut: