, , ,

Pengenalan GIT(bagian 1)

Sebagian dari anda mungkin sering bercengkerama dengan yang namanya komputer. Terutama para programmer, apalagi yang masih jomblo. Kasihan ya, yang dibuat cengkrama keseharian cuma komputer, server, dan kroni-kroninya.. hehe :p. Saya doakan deh para jomblo-jomblo yang belum menikah, semoga diberi jalan dan kemudahan Oleh Allah Subhanahu Wa Ta’ala untuk segera menemukan dambaan hatinya..aamiin

Kembali ke laptop, di tutorial kali ini saya akan membagikan materi tentang pengenalan GIT. Ini adalah salah satu bagian dari materi pelatihan git dan gitlab di kantor Telkomsel di Jakarta. Pelatihan ini adalah ini atas permintaan dari pihak Telkomsel untuk membagikan pengalaman penggunaan GIT dan GITLAB, terutama ketika di implementasikan dalam pengembangan project-project sistem yang sering di pegang oleh Profio Teknova Indonesia. Memang semenjak awal kami berdiri, hampir 2 tahun lalu, kami langsung menerapkan sistem kerja menggunakan Repository(GIT). Terbukti ini adalah formula yang cukup ampuh ketika kita melakukan development project secara bersama – sama.

Git adalah tools yang berfungsi sebagai Version Control System (VCS) pelacak perubahan pada file. Git sendiri dibuat oleh orang yang menciptakan Kernel Linux., yah mungkin temen-temen sudah kenal nama linus torvalds ya.. dialah Pencetus git, yang kita gunakan. Git diciptakan tahun 2005 saat bitkeeper mulai retak dan pencipta linux harus mencari alternatif lain untuk mendukung pengembangan kernel linux. Dengan menggunakan Git, setiap orang dalam sebuah tim dapat melakukan perubahan pada source-code tanpa harus takut terjadi bentrok ataupun kesulitan dalam menggabungkan hasil perubahan yang mereka lakukan.
Dengan menggunakan Git, setiap perubahan pada source-code akan terlacak pesan perubahannya, apa saja yang diubah, siapa yang mengubah dan kapan waktunya.

Langsung saja, kita coba berkenalan dengan perintah – perintah dasar yang sering digunakan ketika bekerja menggunakan sistem repository:

git init
Untuk membuat repo lokal baru pada perintah ini akan dibuat sebuah folder baru yang bernama “.git”
Contoh : $ git init

git status
untuk melihat status dari repo lokal
Contoh : masuk ke direktori repo lokal
$ git status

git add
Untuk menambahkan file ke dalam repo yang sebelumnya sudah dibuat
Contoh : $ git add myfile.txt

git commit
untuk menyimpan seluruh perubahan yang terjadi
Contoh : $ git commit -m "first commit"

git remote
untuk menambahkan remote repo baru
Contoh : $ git remote add origin git@bitbucket.org:xxxxx/xxxxx.git

git pull / push
untuk menyimpan dan mengambil data dari remote repo
Contoh : $ git pull origin master
$ git push origin master

git diff
untuk membandingkan perubahan file
Contoh : $ git diff
git reset
ntuk membatalkan perubahan pada repo lokal
– Contoh : $ Git reset --soft HEAD^ (Lokal)
$ Git reset --hard /

git Clone
uuntuk melakukan cloning pekerjaan yang telah exist ke lokal
– Contoh : $ git clone git@bitbucket.org:xxxxx/xxxxx.git

git merge
untuk melakukan penggabungan antar branch

git checkout
untuk pindah branch

berikut adalah lifecycle dari GIT:

, ,

Debugging pada PHP

debugging quotes

Debugging adalah salah satu metode untuk mengetahui letak kesalahan dalam suatu kode program, termasuk website. Sehingga ketika Anda mengetahui letak kesalahannya, Anda dapat memperbaiki programtersebut agar dapat berjalan dengan benar. Ada banyak cara yang dapat Anda lakukan untuk melakukan debugging. Namun, pada kesempatan ini Kami akan mencoba membahas mengenai debugging pada php dengan cara mencetak/melihat isi suatu variabel.

 

var_dump()

Fungsi var_dump() menampilkan informasi beserta struktur dari suatu variabel. Informasi yang ditampilkan antara lain tipe, panjang variabel tersebut, key (jika dalam bentuk array), dan value-nya. Contoh penggunaan var_dump() adalah sebagai berikut.

debugging dengan var_dump()

debugging pada php menggunakan var_dump()

Output yang dihasilkan dari fungsi var_dump() pada gambar di atas adalah sebagai berikut.

  • untuk variabel $greeting:
    string(12) "Hello World!"
  • untuk variabel $numbers:
    array(3) { [0]=> string(3) "one" [1]=> string(3) "two" [2]=> string(5) "three" }
  • untuk variabel $days:
    array(3) { [1]=> string(6) "Sunday" [2]=> string(6) "Monday" [3]=> string(7) "Tuesday" }

print_r()

Fungsi print_r() hampir sama dengan var_dump(), namun informasi variabel yang ditampilkan oleh print_r() lebih simpel, yaitu hanya key and element. Contoh penggunaan print_r() adalah sebagai berikut.

print_r

debugging pada php menggunakan print_r()

Output yang dihasilkan dari fungsi print_r() adalah sebagai berikut.

  • untuk variabel $greeting:
    Hello World!
  • untuk variabel $numbers:
    Array ( [0] => one [1] => two [2] => three )
  • untuk variabel $days:
    Array ( [1] => Sunday [2] => Monday [3] => Tuesday )

dd()

Fungsi dd() hanya digunakan pada Framework Laravel. Jika Anda menggunakan PHP Sktruktural maupun framework PHP yang lain, dd() tidak dapat digunakan.
Fungsi dd() sangat sesuai jika Anda hanya ingin melihat isi dari 1 variabel saja. Karena setiap kali Anda menggunakan fungsi dd(), program akan berhenti tepat setelah fungsi dd() digunakan. Contoh penggunaan fungsi dd() adalah sebagai berikut.

dd()

debugging pada php menggunakan dd()

Output yang dihasilkan dari fungsi dd() pada contoh di atas adalah sebagai berikut.

  • untuk variabel $greeting:
    "Hello World!"
  • untuk variabel $numbers:
    dd() contoh 2
  • untuk variabel $days:
    dd() contoh 3

Semoga bermanfaat dan selamat berkarya!

,

Memahami macam-macam kode respon HTTP

Pengertian/definisi  HTTP Status Codes/Kode Status HTTP adalah sebuah respon kode status standard web server yang memberikan informasi tentang situs Anda dan halaman yang diminta, ketika suatu permintaan telah dibuat baik oleh pengguna/user, maupun saat perayapan yang diproses oleh Googlebot. Server yang Anda gunakan bertugas mengirim kembali status halaman atau infomasi situs dalam menanggapi permintaan tersebut.
Beberapa Kode Status HTTP umum dan sering kita temukan antara lain:
  • 200 – server berhasil mengirim kembali halaman (sukses)/ the server successfully returned the page
  • 404 – halaman yang diminta tidak ada/the requested page doesn’t exist
  • 503 – server sementara tidak tersedia/ the server is temporarily unavailable

 

Selain kode status diatas, selanjutnya dibawah saya akan mencoba menerangkan lebih rinci dan detail tentang macam-macam Response HTTP Status Codes yang telah dikutip dari sumber resmi  W3C dan support.google.com.

Kode-kode  Respon Status HTTP

1XX (PROVISIONAL RESPONSE)

Kode status yang menandakan respon sementara (provisional response)  dan meminta pemohon/user untuk mengambil tindakan untuk melanjutkan

Code Description
100 (Continue) Pemohon harus melanjutkan permintaan.Karena server telah menerima sebagian data dari permintaan dan menunggu sisanya.
101 (Switching protocols) Permintaan server untuk beralih protokol.

2XX (SUCCESSFUL)

Kode status yang menandakan bahwa server berhasil memproses permintaan.
Code Description
200 (Successful) Server berhasil memroses permintaan.Ini berarti bahwa server telah menyediakan halaman yang diminta. Jika Anda melihat status ini pada file robots.txt Anda, itu berarti bahwa Googlebot telah retrieve/mengambil data dengan sukses.
201 (Created) Permintaan berhasil dan server membuat sumber/resource baru.
202 (Accepted) Server telah menerima permintaan, tetapi belum diproses.
203 (Non-authoritative information) Server berhasil memroses permintaan, tetapi menampilkan informasi yang mungkin berasal dari sumber lain.
204 (No content) Server berhasil memroses permintaan, tetapi tidak menampilkan konten apa pun.
205 (Reset content) Server berhasil memroses permintaan, tetapi tidak menampilkan konten apa pun. Tidak seperti respon 204, respons ini mengharuskan pemohon mereset tampilan dokumen (misalnya, memasukan input baru pada form).
206 (Partial content) Server berhasil memroses permintaan GET parsial.

3XX (REDIRECTED)

Kode status ini biasanya digunakan untuk permintaan pengalihan (redirect) URL . Google menyarankan  menggunakan kurang dari lima pengalihan (redirect) untuk setiap permintaan. Anda dapat menggunakan Webmaster Tools untuk melihat apakah Googlebot mengalami kesulitan merayap (crawling) halaman Anda yang telah diarahkan.
Code Description
300 (Multiple choices) Server memiliki beberapa pilihan tindakan berdasarkan permintaan dan memilih tindakan berdasarkan dari pemohon (user agent) atau server menyediakan daftar tindakan sehingga pemohon dapat memilih tindakan.
301 (Moved permanently) Halaman yang diminta telah secara permanen dipindahkan ke lokasi baru. Ketika server mengembalikan respons ini (sebagai respon terhadap permintaan GET atau HEAD), secara otomatis mengarahkan pemohon ke lokasi baru. Anda harus menggunakan kode ini untuk memberi tahu Googlebot bahwa laman atau situs sudah permanen pindah ke lokasi baru.
302 (Moved temporarily) Hampir sama dengan 301, namun kode ini bersifat sementara. Dan Anda sebaiknya tidak memberitahu Googlebot bahwa laman atau situs telah dipindahkan karena Googlebot harus terus crawl dan indeks lokasi asli.
303 (See other location) Server mengembalikan kode ini ketika pemohon membuat permintaan GET terpisah ke lokasi yang berbeda untuk menerima respon. Untuk semua permintaan selain permintaan HEAD, server secara otomatis mengarahkan ke lokasi lain.
304 (Not modified) Halaman yang diminta belum dimodifikasi sejak permintaan terakhir. Ketika server menampilkan respons ini, tidak mengembalikan isi halaman.
Anda harus mengkonfigurasi server Anda untuk menerima respon ini ( the If-Modified-Since HTTP header). Ini menghemat bandwidth dan overhead karena server Anda akan memberitahu Googlebot bahwa halaman belum berubah sejak terakhir kali crawling.
305 (Use proxy) Pemohon hanya dapat mengakses halaman yang diminta dengan menggunakan proxy. Ketika server menampilkan respons ini, itu juga menunjukkan proxy yang harus digunakan pemohon.
307 (Temporary redirect) Server sedang merespons permintaan dengan halaman dari lokasi yang berbeda, tetapi pemohon harus terus menggunakan lokasi asli untuk permintaan di masa depan. Kode ini mirip dengan 301.

4XX (REQUEST ERROR)

Kode status ini menunjukkan bahwa ada kemungkinan kesalahan dalam permintaan yang mencegah server untuk memprosesnya.

Code Description
400 (Bad request) Server tidak memahami sintaks/syntax permintaan. 
401 (Not authorized) Permintaan membutuhkan otentikasi. Server biasanya menampilkan respon ini untuk halaman setelah login (page behind a login)
403 (Forbidden) Server menolak permintaan tersebut. Jika Anda melihat bahwa Googlebot menerima kode status ketika mencoba untuk menjelajah halaman valid situs Anda  (Anda dapat melihat ini di halaman Crawl Errors di Google Webmaster Tools), itu mungkin bahwa server atau host memblokir akses Googlebot.
404 (Not found) Server tidak dapat menemukan halaman yang diminta. Misalnya, server akan menampilkan kode ini jika permintaan untuk halaman  tersebut tidak ada di server.
Jika Anda tidak mengaktifkan file robots.txt di situs Anda dan melihat status ini pada halaman Blocked URLs di Google Webmaster Tools, ini adalah status yang benar. Namun, jika Anda memiliki file robots.txt dan Anda melihat status ini, maka nama file robots.txt Anda mungkin tidak benar atau di lokasi yang salah. (Ini seharus di top-level domain dan nama file robots.txt yang benar .)
Jika Anda melihat status ini pada URL yang coba dirayapi oleh Googlebot, Googlebot akan mengikuti link yang tidak valid dari halaman lain (baik link tua atau salah ketik).
405 (Method not allowed) Metode yang ditentukan dalam permintaan tidak diperbolehkan.
406 (Not acceptable) Halaman yang diminta tidak dapat merespons dengan karakteristik konten yang diminta.
407 (Proxy authentication required) Ini kode status yang mirip dengan 401 (not authorized), tetapi menetapkan agar pemohon harus mengotentikasi menggunakan proxy. Ketika server mengembalikan respons ini, itu juga menunjukkan proxy yang harus digunakan pemohon.
408 (Request timeout) Server kehabisan waktu pada saat menunggu permintaan.
409 (Conflict) Server mengalami konflik saat memenuhi permintaan. Server menampilkan kode ini dalam menanggapi permintaan PUT yang bertentangan dengan permintaan sebelumnya, bersama dengan daftar perbedaan antara permintaan.
410 (Gone) Server menampilkan respon ini ketika sumber yang diminta telah dihapus secara permanen. Hal ini mirip dengan kode 404 (Not found). Jika sumber telah dipindahkan secara permanen, Anda harus menggunakan kode 301 untuk menentukan lokasi baru sumber.
411 (Length required) Server tidak akan menerima permintaan tanpa Content-Length header field yang sah.
412 (Precondition failed) Server tidak memenuhi salah satu prasyarat yang pemohon gunakan untuk permintaan.
413 (Request entity too large) Server tidak dapat memproses permintaan karena terlalu besar untuk server tangani.
414 (Requested URI is too long) URI yang diminta (biasanya, URL) terlalu panjang untuk diproses oleh server .
415 (Unsupported media type) Permintaan tersebut dalam format yang tidak didukung oleh halaman yang diminta.
416 (Requested range not satisfiable) Server menampilkan kode status ini jika permintaan untuk rentang/range tidak tersedia untuk halaman tersebut.
417 (Expectation failed) Server tidak dapat memenuhi persyaratan Expect request-header field.

5XX (SERVER ERROR)

Kode status ini menunjukkan bahwa server mengalami galat/error internal saat mencoba untuk memproses permintaan tersebut. Kesalahan ini cenderung dari server sendiri, tidak berkaitan dengan permintaan.

Code Description
500 (Internal server error) Server mengalami galat/error dan tidak dapat memenuhi permintaan.
501 (Not implemented) Server tidak memiliki fungsi untuk memenuhi permintaan. Misalnya, server akan menampilkan kode ini ketika tidak mengenali metode permintaan.
502 (Bad gateway) Server bertindak sebagai gateway atau proxy dan menerima respon tidak valid dari upstream server.
503 (Service unavailable) Server saat ini tidak tersedia (karena kelebihan beban atau dalam proses maintenance ). Umumnya, ini bersfiat sementara.
504 (Gateway timeout) Server bertindak sebagai gateway atau proxy dan tidak menerima permintaan tepat waktu dari server upstream.
505 (HTTP version not supported) Server tidak mendukung versi protokol HTTP yang digunakan dalam permintaan.

* kode yang berhuruf tebal adalah yang sering terjadi atau ditemukan pengguna atau user

Profio Indonesia
PT. Profio Teknova Indonesia merupakan sebuah perusahaan yang bergerak dalam bidang software development. Kami siap membantu mengembangkan bisnis Anda.