• Mengenal Git

    Git merupakan tool yang digunakan untuk melakukan kontrol dan monitoring terhadap versi pengembangan wajib di pahami developer.

20 November 2020

Mengenal Azure SQL

Sebelumnya kita telah mengenal SQL Server yang di install di mesin kita sendiri, atau istilahnya On-Promise. Selain SQL Server yang dapat kita install di mesin kita sendiri, Microsoft juga menyediakan beberapa produk SQL Server lain yang bisa kita gunakan tanpa perlu menginstall di mesin kita sendiri, Azure SQL. Kalau tidak perlu kita install bagaimana cara kerjanya? Dalam tulisan ini kita akan berkenalan dengan produk tersebut.

Azure SQL diklaim oleh microsoft sebagai keluarga SQL Server yang aman, cerdas dan dapat dikelola dengan baik. Azure SQL menggunakan mesin SQL Server yang sama dengan SQL Server yang kita kenali sebelumnya, bagi yang belum baca silakan baca ini terlebih dahulu.

Azure SQL merupakan layanan mesin SQL Server yang disediakan di komputasi awan. Microsoft memiliki layanan komputasi awan yang diberi nama Azure. Microsof merupakan salah satu pemain komputasi awan dunia selain Google, Amazon, Alibaba dan beberapa pemain nasional seperti telkomsigma, indonesianCloud dan lainnya.

Di era 4.0 sekarang ini data yang semakin besar mendorong transformasi digital semakin bergantung pada kemampuan kita untuk mengelola data dalam jumlah besar dan memanfaatkan potensinya. Dimanapun kita menyimpan dan mengolah data baik di lokal ataupun di cloud data harus tersedia setiap saat kapanpun dibutuhkan. Pengembang yang membangun aplikasi atau bisnis yang fokus pada pemanfaatan data sering kali disibukan oleh urusan-urusan perawatan dan infrasturktur. Mulai dari platform yang tidak kompatibel, keamanan data yang tidak memadai, sumber daya yang tidak mencukupi, dan performa yang rendah atau lemot. Sumberdaya yang digunakan untuk mengurus infrastruktur dan perawatan tentunya akan lebih optimal jika di gunakan untuk penggalian data sehingga lebih bernilai, atau setidaknya bisa mengurangi penggunaan biaya.

Untuk mengatasi masalah itulah layanan komputasi awan muncul. Kita bisa memiliki lebih banyak waktu untuk berinovasi dan lebih sedikit waktu untuk menambal bug, memperbarui versi terbaru, dan melakukan backup database kita. Azure diklaim sebagai satu-satunya cloud dengan SQL evergreen yang secara otomatis menerapkan pembaruan dan patch terbaru sehingga database kita selalu terbarui — sehingga kita tidak lagi dipusingkan dengan update bug pada sql server. Bahkan tugas kompleks seperti pengaturan performa, tingkat ketersediaan tinggi, recovery dari kerusakan, dan backup data dilakukan secara otomatis, sehingga kita bisa fokus pada proses bisnis.

    Pertimbangan Pemilihan Azure SQL
  • Biaya
  • Ketika kita mmilih menggunakan Azure SQL, kita sudah tidak perlu lagi di pusingkan rumitnya perhitungan biaya infrastruktur dan lisensi. Kita cukup membayar sesuai dengan penggunaan sumberdaya yang kita gunakan. Bandingkan dengan kita memiliki infrasturktur sendiri, mulai dari harga server yang ratusan juta hingga lisensi yang sampai jutaan. Belum lagi dengan perawatan dan penggunaan listrik. Tentu dengan begini kita bisa lebih hemat.
  • Administrasi
  • Yang dimaksud administrasi disini adalah administrasi server tentunya. Kita tidak perlu lagi melakukan pengadministrasian sistem yang rumit. Namun kita tetap masih punya pilihan untuk menentukan skala administrasi yang dapat kita gunakan. Apakah cukup di level data base atau sampai level instance.
  • Service Level Agreement (SLA)
  • Berapa kali pemadaman listrik di tempat kita? atau kelebihan beban sehingga "anjlok"? atau buat kita start up apakah kita punya ruang dan infrastruktur untuk instalasi server? Apakah kita yakin bahwa server kita tetap menyala selama di cient membutuhkan? di Cloud Azure SQL menjanjikan 99.99% sistemnya dapat di akses. Toleransi server tidak sapat di akses hanya 8,64 detik, atau total 53 menit dalam satu tahu. Angka yang mungkin sulit bagi kita untuk memenuhinya bahkan di kantor kita sekalipun.
  • Kemudahan melakukan migrasi
  • Azure SQL pada Virtual Machine tidak sama dengan sql yang ada pada lingkungan kita, oleh karenanya melakukan migrasi dari server kita ke azure tidak terlalu rumit, sama seperti ketika kita memindahkan dari satu server ke server lainnya, namun demikian bebeapa hal mungkin tetap harus dilakukan seperti konfigurasi user, security dan lain-lain.


Jenis-jenis Azure SQL

  1. SQL Server Virutal Machine
  2. Merupakan mesin virtual yang sepenuhnya dalam kendali kita, kita seperti memiliki mesin sendiri namun disimpan di data center micorosft sehingga kita tidak perlu lagi memikirkan sumberdaya dan infrastruktur seperti listrik, pengamanan dan lainnya. Kita fokus pada optimasi manfaat mesin tersebut. Dalam standar indusri layanan ini termasuk dalam kategori Infrastructure as a service (IaaS).

    Layanan ini cocok jika kita memerlukan akses sampai pada level Sistem Operasi dan tentu saja kendali penuh pada SQL Server Instance. Dengan model virtual machine kita bisa dengan mudah dan cepat memindahkan sistem dari on-promise ke cloud tanpa banyak perubahan. Bahkan kita bisa memilih versi SQL Server yang akan kita gunakan sehingga kompatibilitas aplikasi atas fitur tidak akan terganggu.
  3. SQL Managed Instance
  4. Layanan ini memberikan kita kenali penuh sampai tingkat Instance SQL Server. Cocok jika kita membutuhkan kendali pada instance sql server sehingga kita bisa memanfaatkan hampir semua fitur SQL Server di cloud. Dalam standar industri, layanan ini masuk kategori Platform as a Service (PaaS).
  5. SQL Database
  6. Merupakan Database Relational as a Service (DBaaS) yang masuk dalam kategori Platform as a Service (PaaS). Layanan ini hanya memberikan kita akses pada level database saja. Hal ini cocok jika kita membutuhkan sistem database server hanya untuk penyimpanan dan pengolahan dalam satu database.

    Jika anda adalah pengembang aplikasi yang membutuhkan database yang selalu siap/online, dan tidak mau ribet dengan kerumitan perawatan dan infrastruktur maka layanan in sangat tepat. Namun kita punya akses penuh sampai level database engine. Kita juga dapat melakukan scaling atau meningkatkan kemampuan database tanpa harus menonaktifkan sistem dan tentunya kita mendapat fitur SQL Server kelas enterprise.
Gambar diatas menggambarkan perbandingan manajemen SQL Server on-promise dan SQL Azure.

Demikian pengenalan Azure SQL. Semoga bermanfaat.



21 September 2020

Mengenal SQL Server

Secara umum SQL Server merupakan platform database yang dirancang untuk operasi skala besar dalam Online Transaction Processing (OLTP), Gudang Data (Datawarehouse), Aplikasi E-Commerce, Bussines Intelligent (BI), Analisis, Solusi Pelaporan hingga Machine Learning(ML). Berbeda dengan produk Relational Database Managment System (RDBMS) pada umumnya, SQL Server merupakan sebuah platform yang lebih dari sekedar database engine.

SQL Server merupakan salah satu manajemen basis data yang paling banyak di gunakan di Indonesia, Selain penggunaannya yang mudah, juga kelengakapan layanan yang baik sehingga cukup melakukan satu instalasi semua kebutuhan terpenuhi, mulai tools management, desain, monitoring, administrasi dan lain sebagainya.

Pada saat tulisan ini dibuat versi terakhir dari SQL Server adalah versi 2019. Namun demikian pengguna SQL Server justru masih banyak yang menggunakan versi 2014, 2012 atau 2016. Sebagian sudah mulai upgrade ke versi 2017, kenapa tidak langsung ke versi 2019? adopsi versi terbaru di indonesia termasuk cukup lambat jika dibandingkna dengan perilisan versi terbaru. Hal ini diantaranya disebabkan karena fitur yang digunakan saat ini sudah memenuhi kebutuhan atau karena tutorial atau komunitas umumnya belum mengadopsi versi terbaru, sehingga jika langsung menerapkan versi terbaru akan kesulitan berkonsultasi ketika menemui kendala.

Menurut microsoft, SQL Server merupakan manajemen database yang paling banyak di gunakan di dunia, sedangkan menurut sumber lain penggunaan SQL Server berada pada posisi ke 2, 3 atau 4. Namun SQL Server memang merupakan salah satu manajemen database populer di dunia. Dalam sebuah komunitas IT Rumah Sakit pernah di lakukan pooling penggunaan Database, dan SQL Server merupakan yang palin banyak di gunakan bersamaan dengan MySQL diikuti oleh Postgresql.

Komponen SQL Server

Ada banyak fitur canggih yang ada di SQL Server, namun secara umum fitur-fitur itu dikelompokan kedalam beberapa komponen dalam produk SQL Server.
  1. Database Engine
  2. Database Engine merupakan komponen inti yang bertugas untuk menyimpan, memproses, dan mengamankan data. Mesin Basis Data menyediakan kontrol terhadap akses dan pemrosesan transaksi cepat untuk memenuhi kebutuhan aplikasi yang paling menuntut konsumsi data dalam perusahaan. Database Engine juga menyediakan dukungan yang kaya untuk mempertahankan ketersediaan tinggi (High Availability).

    Komponen ini merupakan komponen yang paling banyak digunakan oleh pengguna SQL Server, bahkan orang seringkali salah kaprah ketika menyebut SQL Server. Ada sebagian orang yang menyebut SQL Server hanya sekedar menunjuk pada Database Engine ini, bisa jadi karena ada nama database lain yang hanya berisi database engine tanpa komponen lainnya.

  3. Integration Service
  4. Layanan Integrasi adalah platform untuk membangun solusi integrasi data berkinerja tinggi, termasuk paket yang menyediakan pemrosesan ekstrak, transformasi, dan pemuatan (ETL) untuk pergudangan data (Datawarehouse).

  5. Analysis Service
  6. Analysis Services adalah platform dan perangkat data analitik untuk intelijen bisnis. Server dan desainer klien mendukung solusi OLAP tradisional, solusi pemodelan tabel baru, serta analitik dan kolaborasi layanan mandiri menggunakan PowerPivot, Excel, dan SharePoint Server. Analysis Services juga menyertakan Data Mining sehingga kita dapat mengungkap pola dan hubungan yang tersembunyi di dalam data bervolume besar.

  7. Reporting Service
  8. Reporint Service memberikan fungsionalitas pelaporan berbasis web sehingga kita dapat membuat laporan yang menarik konten dari berbagai sumber data, menerbitkan laporan dalam berbagai format, dan mengelola keamanan dan langganan secara terpusat. Selain berbasis web, reporting service ini juga menyediakan pelaporan berbasis client yang dapat di embed kedalam aplikasi berbasis client seperti desktop. Dibawah ini contoh tampilan Halaman Dashboard Reporting Servicee.


  9. Master Data Service
  10. Master Data Service (MDS) memungkinkan kita untuk mengelola sekumpulan master data organisasi. kita dapat mengatur data menjadi model, membuat aturan untuk memperbarui data, dan mengontrol siapa yang memperbarui data. Dengan Excel, kita bisa berbagi kumpulan data master dengan orang lain di organisasi kita.

    Dalam MDS, model adalah wadah tingkat tertinggi dalam struktur data master kita. kita membuat model untuk mengelola grup data serupa, misalnya untuk mengelola data produk online. Sebuah model berisi satu atau lebih entitas, dan entitas berisi anggota yang merupakan catatan data. Entitas mirip dengan tabel.


  11. Machine Learning (ML)
  12. Layanan Machine Learning adalah fitur di SQL Server yang memberikan kemampuan untuk menjalankan skrip Python dan R dengan data relasional. kita dapat menggunakan paket dan framework open source, serta paket Microsoft Python dan R, untuk analitik prediktif dan pembelajaran mesin. Skrip dijalankan dalam database tanpa memindahkan data di luar SQL Server atau melalui jaringan. Dibawah ini gambaran Arsitektur Machine Learning.


  13. Availability And Disaster Recovery
  14. Satu tugas umum yang harus diperhitungkan oleh setiap orang yang menggunakan SQL Server adalah memastikan bahwa semua instance SQL Server yang sangat penting dan database di dalamnya tersedia saat bisnis dan pengguna membutuhkannya, apakah itu 9 hingga 5 atau sepanjang waktu. Tujuannya adalah untuk menjaga bisnis tetap berjalan dengan sedikit atau tanpa gangguan. Konsep ini juga dikenal sebagai kelangsungan bisnis (Bussines Continuity). Dibawah ini contoh solusi High Availability.
  15. Big Data Cluster
  16. Mulai SQL Server 2019, Microsoft memperkenalkan Big Data Cluster. Kluster Data Besar SQL Server memungkinkan kita menerapkan klaster penampung SQL Server, Spark, dan HDFS yang dapat diskalakan yang berjalan di Kubernetes. Komponen ini berjalan berdampingan untuk memungkinkan kita membaca, menulis, dan memproses data besar dari Transact-SQL atau Spark, memungkinkan kita untuk dengan mudah menggabungkan dan menganalisis data relasional bernilai tinggi dengan data besar bervolume tinggi.

    Kluster Data Besar SQL Server memberikan fleksibilitas dalam cara kita berinteraksi dengan data besar. kita dapat membuat kueri sumber data eksternal, menyimpan data besar dalam HDFS yang dikelola oleh SQL Server, atau membuat kueri data dari beberapa sumber data eksternal melalui cluster. kita kemudian dapat menggunakan data tersebut untuk AI, pembelajaran mesin, dan tugas analisis lainnya. Bagian berikut ini memberikan informasi lebih lanjut tentang skenario ini. Dibawah ini contoh gambar Arsitektur Big Data Cluster, Klik pada gambar untuk melihat dalam ukuran lebih besar.
Selain komponen diatas, ada hal menarik lagi dari SQL Server. Microsoft yang selama ini membuat produknya ekslusif hanya dapat bekerja pada sistem operasi windows, mulai SQL Server 2017 dan yang lebih baru dapat berjalan pada sistem oeprasi Linux, docker dan kubernate. Tentu hal ini kabar baik, setidaknya kita tidak perlu membeli lisensi windows atau yang sudah terbiasa dengan linux di sisi server, tidak perlu mengadakan server baru untuk Windows server.

Edisi SQL Server

SQL Server memiliki beberapa edisi dalam setiap rilisnya disesuaikan dengan segmen pasar yang di sasar. Berikut edisi pada SQL Server
  1. Express Edition
  2. Merupakan SQL Server versi gratis yang ditujukan untuk digunakan oleh pelajar, developer, web dan mobile apps. Edisi ini memiliki yakni ukuran database maksimal 10GB dan penggunaan RAM 1GB untuk express edition, sedangkan web edition 2019 hingga 64GB.

  3. Standard Edition
  4. Memiliki semua fitur pada teknologi SQL Server namun dengan batasan tertentu, misalnya CPU maksimal 24 Core, Memory hingga 128GB.

  5. Enterprise Edition
  6. Merupakan versi paling lengkap dengan tanpa batasan daris sisi SQL Server. Batasan yang ada adalah Sistem operasi dan hardware. Edisi ini ditujukan untuk perusahaan skala besar dengan performa dan intellijensi tinggi untuk data center tier 1.

  7. Developer Edition
  8. Memiliki fitur tak terbatas sebagaimana edisi Enterprise edition. Namun ini di tujukan untuk developer sedemikian rupa sehingga developer dapat membuat dan menguji aplikasi yang dapat memanfaatkan semua fitur SQL Server.

Itulah beberapa hal mendasar tentang SQL Server. Sebuah manajemen database yang banyak di gunakan di Indonesia. Kedepan kita akan coba kupas dan praktekan teknologi SQL Server ini.

Punya pengalaman menggunakan SQL Server? atau saat ini pengguna SQL Server?

Semoga Bermanfaat.



24 Agustus 2020

Mengenal Git (Bagian 2)

Sebelumnya kita sudah bahas konsep dasar Git, yang belum baca silahkan baca disini. Pada sesi ini kita akan bahas tentang Branch, yaitu pencabangan dalam proses pengembangan. Kita dapat menggunakan operasi ini untuk memotong proses pengembangan menjadi dua arah yang berbeda. Misalnya, kita merilis produk untuk versi 6.0 dan dan mungkin ingin membuat cabang sehingga pengembangan fitur 7.0 dapat tetap terpisah dari perbaikan bug 6.0.

Membuat Branch

Dewi membuat cabang baru menggunakan perintah git branch . kita dapat membuat cabang baru dari yang sudah ada. kita dapat menggunakan komit atau tag tertentu sebagai titik awal. Jika ID komit tertentu tidak disediakan, maka cabang akan dibuat dengan HEAD sebagai titik awal.


Branch baru terbuat; Dewi menggunakan perintah git branch untuk mendaftar branch yang tersedia. Git menunjukkan tanda bintang sebelum branch yang saat ini diperiksa.

Gambar berikut menggambarkan proses pembuatan branch :

Beralih antar Branch

Jerry menggunakan perintah checkout git untuk beralih antar cabang.

Membuat Branch Baru dan Beralih ke Branch Baru

Dalam contoh di atas, kita telah menggunakan dua perintah untuk membuat dan mengganti branch, masing-masing. Git menyediakan opsi –b untuk perintah checkout; operasi ini membuat branch baru dan segera beralih ke branch baru.

Menggabungkan Dua Branch


Contoh kasus, Wati menambahkan sebuah fungsi pada brach master, Wati kemudian melakukan commit dan push dengan membuat branch baru bernama "new branch" untuk fungsi yang ditambahkannya itu. Sehingga gambarannya sepertiberikut ini

Setelah melakuan review terhadap kode tambahan yang dibuat Wati, Budi sebagai admin menilai fingsi tersebut penting dan memutuskan untuk menggabungkan ke branch Master. Sehingga setelah di gabungkan ke branch master, gambarannya menjadi seperti berikut ini.


Perintah ReBase

Perintah Git rebase adalah perintah penggabungan cabang, tetapi perbedaannya adalah ia memodifikasi urutan komit.

Perintah Git merge mencoba menempatkan komit dari branch lain di atas HEAD branch lokal saat ini. Misalnya, branch lokal kita telah melakukan A−> B−> C−> D dan branch gabungan telah melakukan Commit A->B−> X−> Y, maka git merge akan mengubah branch lokal saat ini menjadi seperti A-> B−> C−> D−> X−> Y

Perintah Git rebase mencoba mencari tahu leluhur antara branch lokal saat ini dan branch gabungan. Kemudian mendorong komit ke branch lokal dengan memodifikasi urutan commit di branch lokal saat ini. Misalnya, jika branch lokal kita memiliki komit A−> B−> C−> D dan branch gabungan telah komit A−> B−> X−> Y, maka Git rebase akan mengonversi branch lokal saat ini ke menjadi A− > B−> X−> Y−> C−> D.

Ketika beberapa pengembang bekerja pada repositori jarak jauh tunggal, kita tidak dapat mengubah urutan komit di repositori jarak jauh. Dalam situasi ini, kita bisa menggunakan operasi rebase untuk menempatkan komit lokal kita atas komit repositori jarak jauh dan kita bisa mendorong perubahan ini.

Reverensi video yang cukup bagus untuk pengenalan git bisa disimak disini.



Mengenal Git (Bagian 1)

Permasalahan

Bagi pengembang atau programmer yang bekerja bersama-sama dalam sebuah tim mungkin pernah merubah atau membuat blok kode program dalam sebuah projek, blok yang sama dengan yang di rubah oleh anggota tim yang lain. Akibatnya perubahan yang kita lakukan tidak kompatibel dengan perubahan yang dibuat oleh anggota tim lain pada saat yang sama. Hal ini tentu dapat menghambat proses pengembangan perangkat lunak.

Solusi

Version Control System (VCS) atau Sistem kontrol versi membantu pengembang untuk berkerja bersama dan memelihara history pekerjaan kita secara lengkap. VCS menyediakan beberapa fitur berikut :
  1. Riwayat lengkap setiap berkas (file) yang memungkinkan kita untuk kembali ke versi sebelumnya untuk menganalisa sumber bug dan memperbaiki masalah di versi yang lebih lama
  2. Kemampuan untuk bekerja pada setiap perubahan secara independen, sehingga memungkinkan kita untuk menggabungkan pekerjaan itu kembali dan memverifikasi setiap perubahan yang menyebabkan konflik
  3. Kemampuan melacak setiap perubahan dengan pesan yang menjelaskan tujuan dan maksud perubahan dan menghubungkannya dengan manajemen projek dan sistem pelacak bug
    Terdapat dua tipe version control :
  1. Centralized Version Control (Kontrol Versi Terpusat)
  2. Decentralized/Distributed Version Kontrol System (Kontrol Versi terdistribusi)

Centralized Version Kontrol

Dengan sistem kontrol versi terpusat, kita memiliki satu salinan "pusat" proyek di server dan melakukan perubahan pada salinan pusat ini. kita menarik file yang kita butuhkan, tetapi kita tidak pernah memiliki salinan lengkap proyek di komputer lokal. Beberapa sistem kontrol versi yang paling umum menerapkan sistem ini, termasuk Subversion (SVN) dan Perforce.

Distributed Version Kontrol

Dengan sistem kontrol versi terdistribusi (DVCS), kita tidak bergantung pada server pusat untuk menyimpan semua versi file proyek. Sebagai gantinya, kita mengkloning repositori secara lokal sehingga kita memiliki sejarang (history) lengkap proyek. Dua sistem kontrol versi terdistribusi yang umum adalah Git dan Mercurial.

Dalam bahasan berikutnya, kita akan memfokuskan pada pembahasan kontrol versi terdistribusi khususnya Git.

Sistem kontrol versi terpusat menggunakan server pusat untuk menyimpan semua file dan memungkinkan kolaborasi tim. Tetapi kelemahan utama tipe ini adalahkegagalan server pusat. Jika server pusat down selama satu jam, maka selama satu jam itu, tidak ada yang bisa berkolaborasi sama sekali. Dan bahkan dalam kasus terburuk, jika disk server rusak dan backup yang tepat belum diambil, maka kita akan kehilangan seluruh sejarah proyek. Di sini, sistem kontrol versi terdistribusi (DVCS) ditampilkan.

Klien git tidak hanya memeriksa snapshot terbaru dari direktori tetapi juga sepenuhnya mencerminkan repositori. Jika server down, maka repositori dari klien apa pun dapat disalin kembali ke server untuk memulihkannya. Git tidak bergantung pada server pusat dan itulah sebabnya kita dapat melakukan banyak operasi saat offline. kita dapat melakukan perubahan, membuat branch, melihat log, dan melakukan operasi lain saat kita offline. kita hanya memerlukan koneksi jaringan untuk mempublikasikan perubahan kita dan mengambil perubahan terbaru.

Terminologi

Local Repository
Setiap tool version control menyediakan tempat kerja pribadi sebagai salinan proyek. Kita lakukan perubahan di tempat kerja pribadi (komputer lokal) dan setelah melakukan perubahan, ini akan menjadi bagian dari repositori. Git mengambil satu langkah lebih jauh dengan membuat salinan pribadi dari seluruh repositori. Pengguna dapat melakukan banyak operasi dengan repositori ini seperti menambah file, menghapus file, mengganti nama file, memindahkan file, melakukan perubahan, dan banyak lagi.

Direktori Kerja dan Staging Area atau Indeks
Direktori kerja adalah tempat di mana file diperiksa. Git tidak melacak setiap file yang dimodifikasi. Setiap kali kita melakukan operasi, Git mencari file yang ada di staging area . Hanya file-file yang ada di staging area yang dianggap untuk komit dan tidak semua file yang dimodifikasi.
    Mari kita lihat alur kerja dasar Git.
  1. Kita memodifikasi file dari direktori kerja.
  2. Tambahkan file-file ini ke staging area.
  3. Lakukan operasi komit yang memindahkan file dari staging area. Setelah operasi Push, ini akan menyimpan perubahan secara permanen ke repositori Git.
BLOBs
Blob adalah singkatan dari Binary Large Object. Setiap versi file diwakili oleh blob. blob menyimpan data file tetapi tidak berisi metadata apa pun tentang file tersebut. Ini adalah file biner, dan dalam database Git, ia dinamai sebagai hash SHA1 dari file itu. Di Git, file tidak dialamatkan dengan nama. Semuanya ditujukan pada alamat konten.

Trees
Tree adalah objek, yang merepresentasikan direktori. Ini menampung blob serta sub-direktori lainnya. Tree adalah file biner yang menyimpan referensi ke blob dan tree yang juga disebut sebagai hash SHA1 dari objek tree. Commits
Commit mencatat status repositori saat ini. Komit juga dinamai dengan hash SHA1. kita dapat mempertimbangkan objek komit sebagai simpul dari daftar tertaut. Setiap objek yang commit memiliki pointer ke objek commit induk. Dari komit yang diberikan, kita dapat mengembalikan ke sesi sebelumnya dengan melihat pointer induk untuk melihat riwayat komit. Jika komit memiliki beberapa komit induk, maka komit tersebut telah dibuat dengan menggabungkan dua branch.

Branch
Branch digunakan untuk membuat jalur pengembangan lain. Secara default, Git memiliki Branch master, yang sama dengan trunk di Subversion. Biasanya, branch dibuat untuk bekerja pada fitur baru. Setelah fitur selesai, itu digabung kembali dengan cabang master dan kita menghapus branch tersebut. Setiap branch direferensikan oleh HEAD, yang menunjuk ke komit terbaru di branch. Setiap kali kitamembuat komit, HEAD diperbarui dengan komit terbaru.

Tag
Tag memberikan nama yang bermakna dengan versi spesifik di repositori. Tag sangat mirip dengan branch, tetapi perbedaannya adalah tag tidak dapat diubah. Artinya, tag adalah branch, yang tidak akan diubah oleh siapa pun. Setelah tag dibuat untuk komit tertentu, bahkan jika kita membuat komit baru, itu tidak akan diperbarui. Biasanya, pengembang membuat tag untuk rilis produk. Clone
Operasi Clone menciptakan instance repositori. Operasi Clone tidak hanya memeriksa copy pekerjaan, tetapi juga mencerminkan repositori lengkap. Pengguna dapat melakukan banyak operasi dengan repositori lokal ini.

Pull (Tarik)
Operasi Pull menyalin perubahan dari instance repositori di server ke lokal. Operasi Pull digunakan untuk sinkronisasi antara dua instance repositori. Ini sama dengan operasi pembaruan di Subversion.

Push (Dorong)
Operasi Push menyalin perubahan dari instance repositori lokal ke yang jauh. Ini digunakan untuk menyimpan perubahan secara permanen ke dalam repositori Git. Ini sama dengan operasi komit di Subversion.

HEAD
HEAD adalah pointer, yang selalu menunjuk ke komit terbaru di branch. Setiap kali kita membuat komit, HEAD diperbarui dengan komit terbaru.

Revision/Revisi
Revision mewakili versi kode sumber. Revision di Git diwakili oleh komit. Komit ini diidentifikasi oleh pengamanan hash SHA1.

URL
URL mewakili lokasi repositori Git. URL Git disimpan dalam file konfigurasi.


Lebih lengkap lagi di Part 2 berikut ini



Reporting Service SQL Server 2016

Reporting service merupakan salah satu komponen dalam SQL Server yang berfungsi untuk melakukan proses sampai dengan penyuguhan data laporan. Kali ini akan coba buat dokumentasi tentang Reporting Service di SQL Server terbaru versi 2016. Sebuah tools yang sudah tersedia sehingga tidak perlu melakukan instalasi yang dapat memberatkan sistem.

Yang belum kenal SQL Server Reporting Service (SSRS) silahkan baca-baca link ini, atau link ini bagus buat developer. Kalau males baca baiklah. Secara sederhana SSRS merupakan perangkat lunak sistem pelaporan berbasis web yang dikeluarkan oleh Microsoft, SSRS merupakan salah satu komponen dari SQL Server. Jadi jika kita membeli SQL Server otomatis selain kita dapat Database Engine, kita juga bakal dapat SSRS ini, tentunya selain komponen-komponen lain. Bandingkan dengan Database Server yang gratis, dimana rata-rata hanya dapat Database Engine-nya saja. Tentu beda lah wong harganya jugabeda . Melalui SSRS kita dapat membuat, menyebarkan dan mengelola laporan mobile dan paginasi dengan berbagai tools yang disediakan oleh SSRS.

Asyiknya lagi, SSRS menawarkan antarmuka pemrograman yang dapat kita gunakan pada aplikasi kita. Aplikasi kita dapat memanfaatkan fitur dan kemampuan SSRS yang ada untuk membuat laporan dan menyuguhkannya baik dalam aplikasi berbasis web ataupun desktop.
Versi terbaru SQL Server saat ini adalah SQL Server 2016 yang di rilis kemaren pada 1 Juli 2016. Bersamaan dengan versi baru SQL Server tersebut, SSRS juga mengalami perubahan yang cukup banyak dibandingkan dengan versi sebelumnya terutama untuk dukungan pada teknologi yang lebih modern.

    Berikut Beberapa fitur baru pada SSRS 2016 yang sangat menarik dan menjadi alasan kenapa harus segera menggunakan Versi terbaru ini.
  • Reporting Service Web Portal
  • Portal web yang diperbarui, lebih modern, portal yang menggabungkan KPI, Laporan Mobile, Laporan Paginasi, Excel dan PowerBI Desktop. Pada portal yang baru ini pengguna juga dapat mendownload Mobile Report Publisher dan Report Builder sebagai tool untuk pembuatan laporan.

  • Portal web yang dapat di kustomasi
  • Kita dapat meng-custom tampilan dengan thema kita sendiri. Kita dapat menambahkan logo dan mengatur warna sesuai dengan selera. Contoh Tema seperti berikut ini.

  • Key Performance Index (KPI) di Web Portal
  • Kita dapat membuat KPI langsung di halaman web portal bahkan dalam folder dimana kita berada. Ketika membuat KPI kia dapat memilih fields pada dataset dan melakukan summaries pada nilai yang ada sehingga informasi yang disuguhkan lebih sederhana namun mudah dipahami. Jika diperlukan informasi lebih detail dapat di informasikan dalam bentuk link terkait. Cara pembuatan KPI dapat dilihat disini.

  • Mobile Report
  • Fitur ini pada dasarnya adalah untuk memenuhi kebutuhan suguhan informasi dari perangkat bergerak atau mobile. Pada verisi ini SSRS memberi dukungan lebih baik dalam suguhan pada perangkat mobile yang memiliki berbagai bentuk baik Tablet maupun Ponsel. Meski harus disampaikan dalam berbagai media, SSRS dapat menampilkan bentuk yang baik dalam beberapa format visalisasi seperti grafik, waktu, kategiri bahkan peta. Tampilan laporan sangat fleksibel sesuai dengan ukuran layar perangkat.

  • Mobile Report Publisher
  • Dibuat untuk mendesain laporan yang dirancang untuk disuguhkan pada perangkat bergerak untuk di publish ke web portal pelaporan. Cara penggunaan mobile report publisher dapat dipelajari disini.

  • SSRS mobile bisa di akss dari PowerBI Mobile
  • Aplikasi PoweBI mobie pada IOS baik iPhone atau iPad sekarang dapat mengakses SSRS mobile report dari web portal lokal atau milik kita. Namun demikian perlu dilakukan perubahan konfigurasi agar powerbi mobile dapat mengakses web portal SSRS. Tulisan ini menjelaskan caranya.

  • Mendukung .NET Framework 4.0
  • Meski versi terbaru, SSRS 2016 mendukung .NEt framework 4.0. Pada saat instalasi, SSRS akan mengecek apakah .NET Framework tersedia atau tidak. Jika tidak tersedia maka otomatis SSRS akan menginstall .NET Framework 4.0

  • HTML5 Rendering Engine
  • Laporan yang dihasilkan oleh SSRS di render kedalam bentuk HTML5 Full Standard. Dengan demikian dipastikan didukung oleh semua browser modern.

  • Penyertaan laporan pada aplikasi
  • Kita dapat menyertakan laporan pada aplikasi web dengan menggunakan iframe dengan cukup yanya menyrtakan parameter.

  • Dukungan konversi yang lebih luas
  • Laporan hasil output SSRS dapat di export atau di convert kedalam beberapa bentuk yang paling umum diguankan, seperti excel, word, PDF, bahkan powerpoint. Proses render ini dapat dilakukan oleh server secara remote, sehingga aplikasi cukup mengirim dalam bentuk URL saja.

Dan masih banyak fitur-fitur lain yang harus di coba. Selamat mencoba, Ada dua versi SQL Server yang dapat digunakan untuk ujicoba secara gratis.

SQL Server Express Edition
SQL Server Developer Edition