Bahasa Java

Belajar Pemrograman Java Dari Dasar

Tips Belajar Pemrograman Komputer Tanpa Pusing dan Stres

Tips Belajar Pemrograman Komputer Tanpa Pusing dan Stres!-Memang dapat dikatakan bahwa pemrograman komputer merupakan pekerjaan yang luar biasa. Itu sebabnya sekarang semakin banyak orang yang berusaha keras untuk mempelajari tentang cara membuat kode. Jika Anda berminat untuk mempelajari pemrograman, baik untuk karier atau hanya dijadikan sebagai hobi, maka Anda harus siap dengan segala resikonya.

Sebelum memulai langkah untuk belajar pemrograman komputer, kita harus mengakui bahwa belajar pemrograman itu sulit, dan memang butuh waktu. Berhadapan dengan kode-kode dan algoritma? Itu tidak menutup kemungkinan bahwa ini akan menjadikan kita sedikit geram dan menjambak rambut kita sendiri. Ya, mungkin itu sedikit berlebihan, apalagi ketika kamu menemukan kode error tapi sulit untuk memperbaikinya.

tips belajar pemrograman


Saya mengatakan ini bukanlah hal yang terlalu dibesar-besarkan, akan tetapi ini adalah fakta. Sebagian besar programmer berpengalaman pasti mengalami kesulitan itu pada awalnya. Apalagi bagi mereka yang mulai mempelajarinya.

Tapi jangan katakan gara-gara ini Anda merasa memilih jurusan yang salah. Namun meskipun sulit, itu bukan berarti Anda bisa tidak menikmatinya. Dan untuk kali ini, saya akan membagikan sedikit tips belajar pemrograman komputer tanpa harus berhadapan dengan rasa stres.

Dan inilah beberapa cara yang dapat Anda lakukan untuk menghindari atau setidaknya mengurangi rasa stres ketika belajar pemrograman komputer yang bisa Anda aplikasikan mulai saat ini.

Kuatkan Mental dan Fokus


Seperti yang saya katakan di atas, pemrograman itu tidak mudah, dan hal tersebut diakui oleh hampir semua programmer. Jangankan ketika orang yang masih belajar, bagi programmer yang sudah hebat dan andal sekalipun terkadang masih mengalami kebingungan ketika mendapati kesalahan pada kode-kode yang diketikkan.

Oleh karena itu, hal pertama yang harus Anda lakukan untuk menghindari stres dalam belajar pemrograman, Anda harus benar-benar menguatkan mental. Dan Anda tidak perlu khawatir, ketika mental Anda benar-benar kuat dan tidak menyerah terhadap kesulitan, Anda akan mendapatkan kepuasan belajar yang luar biasa nantinya.

Entah sudah berapa banyak bahasa pemrograman di luar sana saat ini. Baik yang sudah mapan atau yang masih dalam proses pengembangan. Fokus dalam satu bahasa dulu akan lebih baik karena biasanya kalau dasarnya sudah bagus maka belajar bahasa pemrograman lain akan lebih mudah.

Misalnya ketika kamu belajar Java, kamu sudah dikatakan mahir, dan kamu ingin mencoba membuat  game dengan menggunakan Unity dibandingkan dengan menggunakan libGDX. Seperti kita tahu Unity menggunakan C# sebagai salah satu bahasa pemrogramannya. Dan ini hampir mirip dengan Java, sama-sama pemrograman berorientasi objek dan memiliki syntax serupa. Jadi kamu akan lebih mudah mempelajarinya.

Perbaiki Pola Pikir


Sadarilah bahwa setiap programmer akan mengalami kesulitan di awal. Anda bukanlah satu-satunya orang yang mengalami kesulitan dalam belajar pemrograman atau programming. Setiap proses membutuhkan waktu.

Dan untuk pemrograman memang membutuhkan waktu yang panjang dalam mempelajarinya. Banyak orang mengatakan bahwa untuk ahli di suatu bidang maka membutuhkan waktu setidaknya 10 tahun. Ya, memang lama, tapi kalau untuk pemrograman sepertinya hal ini masuk akal.
Jadi, jangan pernah merasa berkecil hati dengan kesulitan koding yang dihadapi. Yakinkan diri Anda bahwa Anda pasti mampu menguasainya materi-materi pemrograman sekalipun membutuhkan waktu yang lama.

Cara Mudah Belajar Pemrograman Komputer

Berikut ini adalah beberapa cara mudah belajar program komputer yang bisa kamu terapkan dalam proses pembelajaran mulai hari ini.

Pelajari Tahap Demi Tahap


Seperti bahasa lisan, bahasa pemrograman adalah topik pembelajaran yang luas, dan ini harus dipelajari dari bawah ke atas. Mulailah dari dasar-dasarnya terlebih dahulu. Unit paling dasar dari bahasa apa pun dimulai dengan huruf, lalu kata-kata, lalu kalimat. Untuk pemrograman komputer, Anda harus mulai dengan kata kunci, sintaksis, dan alur program secara keseluruhan.

Jangan memikirkan tentang materi lanjutan sebelum Anda menguasai dasar-dasarnya. Ibaratnya Anda langsung mencoba membuat sebuah aplikasi mobile,akan tetapi Anda belum memahami aturan dasar tata bahasa pemrograman. Pasti Anda akan menemukan kesulitan dengan pemahaman apa yang sebenarnya kode-kode itu lakukan.

Dengan kata lain, Anda tidak perlu terburu-buru. Fokus saja kepada satu topik dalam satu waktu sebelum pindah ke yang berikutnya. Dengan membatasi ruang lingkup studi Anda seperti ini, Anda dapat menjaga diri dari kewalahan. Jadi pelajari semuanya dengan santai.

Carilah Referensi Sebanyak-banyaknya


Dalam pemrograman komputer, satu penjelasan seringkali tidak cukup untuk benar-benar dapat memahami topik tertentu. Itulah mengapa penting bagi Anda untuk mencari referensi sebanyak mungkin, baik dalam hal dokumentasi, tutorial, video, ceramah, dll.

Setiap referensi akan membantu Anda untuk mendapatkan wawasan tambahan. Seperti ketika Anda belajar program Java misalnya, carilah contoh-contoh dan aplikasikan contoh-contoh itu pada project-project kecil dan sederhana lebih dulu. Modifikasi contoh-contoh program tersebut agar bekerja seperti yang kamu mau karena kamu adalah programmer.

Oh ya, banyak tempat belajar komputer online yang bagus dan buku-buku pemrograman itu berbahasa Inggris. Jadi, belajar bahasa Inggris juga bisa mendukung kamu dalam mempelajari pemrograman. Setiap bahasa pemrograman mungkin terus berkembang, selalu ada yang baru, dan peningkatan-peningkatan yang dilakukan.

Banyak Bermain-main

Yang dimaksud bermain-main di sini ialah Anda harus banyak berekperimen dengan kode-kode. Jangan pernah takut untuk melakukan kesalahan. Dari kesalahan, Anda akan berusaha menemukan solusinya. Pemrograman komputer bukanlah sesuatu yang bisa dipelajari secara pasif dengan menjiplak dari sebuah teori, Anda juga harus belajar dengan otodidak.

Bagaimanapun juga, Anda harus membuat tangan Anda kotor. Untuk awal mencoba-coba, kemungkinan besar Anda akan menemukan kesalahan. Lalu pelajari cara memperbaikinya atau mengatasinya. Berlatihlah membangun pengalaman dari kealahan, karena pengalaman akan membangun kepercayaan, dan kepercayaan diri membuat Anda tidak merasa kewalahan atau tertekan.

Biasanya mempelajari sesuatu yang kita sukai akan membuat lebih bersemangat. Misalnya Anda suka main game. Jadi kenapa tidak belajar pemrograman untuk membuat game? Seperti kita ketahui aplikasi game android misalnya saat ini sangat tinggi peminatnya.

Kesimpulan

Kesimpulannya, pemrograman memang bukanlah hal yang mudah untuk dipelajari. Akan tetapi Anda dapat dapat melakukan hal-hal yang saya sebut di atas untuk menghindari rasa stres ketika belajar pemrograman komputer.

Apakah Anda punya tips tersendiri yang bisa membantu Anda ketika belajar pemrograman? Silakan berbagi di kolom komentar. Semoga tulisan ini bermanfaat bagi Anda. Tetap optimis dan teruslah berkarya.

Prospek Kerja Paling Keren di Bidang Komputer

Prospek Kerja Paling Keren di Bidang Komputer! - Hal yang dikhawatirkan ketika ketika memilih jurusan kuliah ialah mengenai prospek kerja. Terkadang kita khawatir tidak mendapatkan pekerjaan yang sesuai dengan jurusan yang kita ambil, sehingga kita merasa bahwa kita salah mengambil jurusan.

Nah, bagi kalian yang baru lulus tingkat SLTA dan masih khawatir dengan prospek kerja nantinya, di bawah ini bisa Anda jadikan pertimbangan untuk memilih jurusan di bidang komputer. Dan bagi Anda yang sudah terlanjur terjun ke perkuliahan bidang komputer, Anda tidak perlu khawatir dengan prospek kerja di bidang komputer nantinya setelah lulus kuliah.


pekerjaan bidang komputer yang banyak di cari


Beberapa Lapangan Pekerjaan Yang Digemari Saat Ini Terkait Bidang Komputer


Di bawah ini, beberapa contoh jenis pekerjaan luar biasa yang bisa Anda ambil setelah menyelesaikan studi Anda di bidang komputer:

Programmer

Programmer tetap menjadi salah satu pekerjaan terpanas di bidang komputer. Orang yang berada dalam posisi pekerjaan ini harus dapat menulis kode dan membuat perangkat lunak. Dengan mengambil jurusan ilmu komputer atau teknik informatika, seseorang dapat mempersiapkan keahlian bidang ini dengan belajar tentang berbagai bahasa pemrograman dan teknik debugging.

Analis Sistem Komputer

Analis sistem komputer merancang dan memprogram pembaruan sistem komputer atau mengawasi tim pengembangan dengan cermat. Mereka yang tidak memiliki latar belakang pemrograman berkolaborasi dengan departemen pengembangan perangkat lunak untuk mengimplementasikan perubahan. Tujuan utama analis sistem komputer adalah memaksimalkan laba atas investasi anggaran TI perusahaan.

Analis sistem komputer membantu atasan mereka dengan penggunaan teknologi komputer yang efisien dan efektif. Banyak pengusaha lebih suka merekrut kandidat pekerjaan yang memiliki gelar sarjana. Akan tetapi untuk pekerjaan yang lebih kompleks, beberapa membutuhkan gelar master.

Pengembang Aplikasi Seluler

Pekerjaan ini mengharuskan seseorang untuk mengetahui setidaknya satu sistem operasi seluler dan beberapa bahasa pemrograman. Seringkali, seseorang yang terlibat dalam posisi pekerjaan ini harus merancang dan menulis kode aplikasi seluler. Mereka mungkin harus mentransfer aplikasi dari satu platform ke platform lain dan mengintegrasikan database.

Kemudian setelah aplikasi berjalan, mereka merancang dan menjalankan tes kode yang memastikan aplikasi seluler berfungsi dengan baik. Jika ada masalah, itu dicatat dalam log pengujian dan masalahnya diperbaiki.

Mengenali Prospek Kerja di Bidang Komputer

Prospek bekerja di biang komputer terus terbuka lebar karena di era komputerisasi dan otomatisasi seperti sekarang ini tenaga-tenaga muda penuh inovasi sangat diperlukan. Mereka diharapkan bisa memberikan sesuatu yang baru dan membuat kehidupan lebih baik dengan skill yang di miliki di bidang komputer.

Pengembang Web


Pengembang web bertanggung jawab atas cara situs web berfungsi. Mereka cenderung ke aspek teknis situs. Meskipun pengalaman dan sertifikasi mungkin cukup untuk membuat seseorang mendapatkan pekerjaan sebagai pengembang web, banyak pengusaha lebih memilih untuk mempekerjakan kandidat yang telah mendapatkan gelar sarjana dalam bidang yang terkait dengan komputer.

Arsitek Jaringan Komputer


Arsitek jaringan komputer adalah seseorang yang mendesain jaringan yang digunakan secara internal dan antar kantor di perusahaan. Jika perusahaan lebih kecil, pekerjaan ini mungkin tumpang tindih dengan bidang lain. Biasanya, seorang arsitek jaringan bekerja untuk mengevaluasi, membuat, dan memonitor jaringan. Mereka memperbarui arsitektur jaringan untuk memenuhi persyaratan bisnis baru.

Arsitek jaringan komputer juga dapat bekerja dengan jaringan area lokal, jaringan area luas, atau intranet. Arsitek jaringan komputer, merencanakan pemeliharaan dan pembaruan jaringan komputer, untuk memastikan bahwa jaringan berfungsi secara efisien dan tetap mutakhir secara teknologi. Seseorang yang mempunyai keahlian di bidang ini dapat bekerja untuk perusahaan layanan jaringan komputer, atau langsung di dalam perusahaan atau agensi tertentu.

Manajer Komputer dan Sistem Informasi


Manajer komputer dan sistem informasi bertugas mengawasi kegiatan komputer dari sebuah organisasi atau perusahaan. Mereka menerapkan teknologi yang dapat membantu entitas ini mencapai tujuan mereka. Sementara beberapa perusahaan mempekerjakan calon pekerja dengan gelar sarjana, banyak yang lebih memilih mereka yang memiliki gelar master di bidang administrasi bisnis (MBA).

Insinyur Perangkat Keras Komputer


Insinyur perangkat keras komputer meneliti, merancang, mengembangkan, menguji, dan mengawasi pembuatan dan pemasangan chip komputer, papan sirkuit, dan sistem komputer. Mereka juga bekerja dengan periferal komputer. Untuk bekerja sebagai insinyur perangkat keras komputer, seseorang harus mendapatkan gelar sarjana. Juga, untuk bekerja secara langsung dengan publik, seseorang harus memiliki lisensi.

Setelah seseorang menyelesaikan studinya dan mendapatkan gelar dari masing-masing jurusan di bidang komputer, tentu ada sejumlah pekerjaan potensial yang tersedia, karena prospek kerja di bidang komputer sangat luas. Mereka akan mendapat sejumlah opsi pekerjaan dan gaji yang mengesankan dengan jurusan yang mereka ambil, dengan syarat mereka benar-benar menekuni jurusan yang mereka ambil.

Jurusan Terkait Bidang Komputer yang Kini Banyak Diminati

Jurusan Terkait Bidang Komputer yang Kini Banyak Diminati! Kita sudah dapat menyadari banyak hal bahwa bidang komputer kini telah menguasai segala sektor kehidupan manusia. Segala sudut tidak lepas dari bidang komputer. Rata-rata, banyak instansi dan perusahaan yang kini tidak lepas dari pemanfaatan komputer.

Kita tidak dapat menyangkal kebenaran itu. Karena memang pada kenyataannya, komputer telah banyak membantu meringankan pekerjaan manusia. Dan dengan kenyataan yang seperti ini, kesempatan dan peluang pekerjaan yang dibutuhkan dalam bidang komputer ini menjadi lebih besar.



Itulah sebabnya, mengapa kini kebanyakan orang berbondong-bondong untuk memilih jurusan bidang komputer untuk kuliah mereka. Mereka dapat melihat bahwa peluang berkarir di bidang komputer ini akan menjadi peluang yang konstan hingga mereka lulus kuliah nanti.

Namun suatu hal yang sangat disayangkan. Terkadang mereka menganggap bahwa semua jurusan yang berkaitan dengan komputer ialah sama. Mereka cenderung langsung memilih jurusan yang mereka temui, tanpa memahami basic dari masing-masing jurusan tersebut.

Nah, bila demikian, Anda tidak perlu risau bagaimana cara membedakannya. Dalam artikel kali ini, saya akan membagikan sedikit ulasan tentang perbedaan masing-masing jurusan yang berkaitan dengan komputer. Karena masing-masing yang dianggap relatif sama ini memiliki basic yang berbeda.

Ternyata Banyak Yang Daftar Kuliah Jurusan Ini Lho!


Tapi, sebelum membahas lebih detail tentang perbedaan dari masing-masing jurusan ini, perlu Anda ketahui bahwa semua jurusan ini memiliki mata kuliah yang hampir sama, hanya saja bobot yang diberikan itu berbeda. Tentu saja pembobotannya dititik-beratkan terhadap mata kuliah yang sesuai dengan jurusannya.

Nah, bagi kawan-kawan yang mempunyai minat untuk mengambil jurusan yang berkaitan dengan bidang komputer, sebaiknya simak terlebih dahulu tentang perbedaan dari masing-masing jurusan ini.

Teknik Informatika


Seringkali kita dipertemukan dengan sebuah mindset dimana kita menganggap bahwa orang yang lulusan teknik informatika bisa segalanya tentang komputer. Padahal tidak demikian. Teknik informatika mempunyai fokus keahlian tersendiri, walaupun jurusan ini memang memiliki cakupan yang luas.

Teknik informatika merupakan nama lain dari ilmu komputer. Jurusan ini memang dituntut untuk menguasai seluruh teori hingga mempunyai keahlian dalam mengembangkan software. Dalam artian, orang yang lulus dari jurusan ini diharapkan ia dapat merancang, membuat dan juga dapat mengembangkan dari perangkat lunak (software).

Selain itu, orang yang berada di jurusan ini diharapkan mampu berinovasi untuk menghasilkan sebuah software lebih canggih sesuai yang dibutuhkan.

Perbedaan Jurusan Terkait Bidang Komputer

Berikut ini beberapa jurusan kuliah yang masih berkaitan dengan komputer dan sanggup menarik minat banyak orang yang ingin melanjutkan pendidikannya.

Sistem Informasi


Jurusan sistem informasi ini diharapkan mempunyai daya analis yang tinggi. Karena basic dari jurusan sistem informasi ini diharapkan mampu menganalisis sistem yang berjalan di sebuah instansi atau perusahaan. Dari hasli analisis tersebut, diharapkan ia mampu merancang sistem informasi sesuai dengan apa yang dibutuhkan oleh perusahaan tersebut.

Dengan arti lain, jurusan sistem informasi ini akan menyetak lulusan yang dapat mengintegrasikan sistem informasi sebagai solusi dari permasalahan yang ada di instansi atau perusahaan. Dengan hal tersebut, kinerja perusahaan akan menjadi lebih efektif dan efisien.

Teknik Komputer


Jurusan teknik komputer ini lebih lebih terfokuskan untuk merancang serta membangun sistem yang berbasis komputer. Titik berat dari jurusan ini ialah mempelajari tentang hardware, software maupun interaksi antara komputer dan manusia. Dengan kata lain, jurusan teknik komputer ini diharapkan dapat merancang dan merakit perangkat keras (komputer) beserta sistem telekomunikasi yang ada di dalamnya.

Teknologi Informasi


Jurusan teknologi informasi ini diharapkan dapat merancang dan mengimplementasikan sebuah teknologi informasi. Selain hal tersebut, jurusan dari teknologi informasi ini juga diharapkan dapat merawat teknologi informasi yang telah dibuat tersebut.

Rekayasa Perangkat Lunak


Sekilas jurusan rekayasa perangkat lunak ini serupa dengan jurusan teknik informatika. Hanya saja, rekayasa perangkat lunak ini lebih terfokus untuk mempelajari proses bagaimana cara mengambangkan software. Berbeda dengan teknik informatika yang terfokus kepada bagaimana cara mendapatkan hasil yang optimal dengan pengembangan yang dilakukan. Jadi, rekayasa perangkat lunak ini berorientasi terhadap prosesnya, bukan terhadap hasil.

Jadi, sekalipun semua jurusan yang berkaitan dengan bidang komputer relatif sama, namun tetap saja mereka memiliki fokus yang berbeda. Ibaratkan minuman, antara kopi, teh dan susu. Mereka sama-sama minuman, namun tetep saja mereka adalah hal yang berbeda.

Jadi sebelum Anda meminumnya, sebaiknya pahami terlebih dahulu minuman apa yang Anda sukai. Begitu juga dengan beberapa jurusan bidang komputer di atas ini. Sebelum Anda terjun ke dalamnya, sebaiknya pahami terlebih dahulu minat dan hobby Anda, lalu sesuaikan dengan jurusan yang tersedia.

Menjadi Seorang Programmer, Tidak Ada Salahnya Jika Mencoba!

Menjadi seorang programmer memang terlihat keren. Tidak ada yang dapat memungkiri bahwa programming merupakan suatu  pekerjaan yang saat ini paling banyak diminati dan tentu paling banyak yang membutuhkan. Ini terjadi karena dampak perkembangan teknologi komputer yang terbilang pesat dalam beberapa tahun terakhir. Namun menjadi seorang programmer adalah sebuah pekerjaan yang tidak mudah untuk ditempuh. Saya akui itu memang benar.

menjadi seorang programmer


Akan tetapi, memilih karir menjadi seorang programmer adalah pilihan termudah yang dapat Anda ambil dibandingkan dengan jalur karir lainnya. Programming dapat dilakukan dengan modal kecil dan merupakan hal yang dapat Anda lakukan di mana saja.

Apa Itu Programmer?


Sebelum membahas berbagai alasan untuk menjadi seorang programmer, saya akan mengulas sedikit tentang programmer dan apa yang dilakukannya. Nah, programmer itu adalah orang yang membuat suatu perangkat lunak, baik itu sebuah sistem informasi maupun aplikasi, atau game dan sejenisnya.

Seorang programmer akan memberikan solusi dari suatu masalah, bermain dengan kode-kode program. Ia memahami sebuah konsep, mendesain lalu mentranslasikannya dengan kode-kode ke dalam dengan komputer hingga menghasilkan sebuah perangkat lunak. Pada intinya, yang dilakukan seorang programmer ialah memerintahkan komputer dengan kode-kode untuk menghasilkan sebuah perangkat komputer sesuai dengan konsep.

Berikut ini, beberapa alasan menjadi seorang programmer yang perlu Anda pertimbangkan.

Mudah Dipelajari


Pekerjaan programming jauh lebih mudah dipelajari dibandingkan dengan jalur bidang lainnya yang harus ditempuh bertahun-tahun di perguruan tinggi. Apakah memang demikian? Untuk menjadi seorang programmer Anda dapat mempelajarinya hanya dalam beberapa bulan, bahkan dapat dipelajari secara online. Kuncinya adalah fokuslah pada bahasa pemrograman yang akan kamu aplikasikan.

Saat ini, sudah banyak terdapat tutorial di internet mengenai programming, baik dalam bentuk artikel maupun dalam bentuk video. Anda hanya perlu mengetikkan nama pemrograman apa yang ingin Anda pelajari. Untuk menerapkan semua teori yang Anda pelajari, Anda hanya perlu tekun dan gigih untuk mencoba-coba hal baru dan teliti dalam bermain dengan kode-kode.

Mengapa Menjadi Seorang Programmer?

Biaya Modal yang Murah


Menjadi seorang programmer sama saja dengan membagun usaha dengan model dropship, nyaris tanpa biaya. Bagaimana tidak, dengan menjadi seorang programmer, Anda hanya perlu menyediakan PC yang memadai untuk programming. Selebihnya Anda hanya bermodal dengan usaha yang keras, ketekunan dan kreatifitas. Anda hanya harus pandai bermain dengan kode-kode.

Prospek Kerja yang Menjamin

Ketika Anda memutuskan untuk menjadi seorang programmer, maka tidak ada yang perlu dikhawatirkan lagi tentang peluang pekerjaan yang akan Anda dapatkan. Tentu jasa Anda sebagai programmer akan laris manis untuk masa kini, bahkan juga untuk masa yang akan datang.

Mengapa demikian? Karena pada jaman sekarang ini komputer telah menguasai seluruh aspek kehidupan manusia, di bidang kesehatan, militer, dan bahkan dalam bersosial. Tenaga Anda sebagai programmer akan sangat dibutuhkan di kehidupan yang berteknologi ini. Anda hanya perlu mempunyai komitmen yang kuat serta terus berani mencoba dan mencoba.

Penghasilan yang Besar

Menjadi seorang programer tentu tidak perlu mengkalkulasikan tentang penghasilan yang didapatkan. Penghasilan yang besar yang didapat dari karir programmer akan sangat nampak, sekalipun dalam perhitungan yang kasar. Dapat Anda hitungkan, jika setiap program yang Anda buat selalu bernilai jutaan. Dan hal ini tidak menutup kemungkinan untuk dapat menghasilakan milayaran rupiah. Anda akan meraup banyak uang tanpa harus menanam modal yang besar.

Pekerjaan yang Menarik

Programmer merupakan salah satu pekerjaan yang menarik. Mengapa saya katakan demikian? Karena menjadi jika Anda menjadi seorang programmer, Anda akan mendapatkan hal baru setiap harinya. Anda juga akan mendapatkan tantangan yang luar biasa untuk menjadikan Anda lebih berkembang.

Selain itu, pekerjaan pemrograman ini dapat Anda kerjakan kapan saja dan dimana saja. Dengan menjadi programmer, Anda dapat bekerja untuk diri Anda sendiri, berapa lama dan berapa banyak sesuai dengan yang Anda inginkan. Jika Anda menyukainya, programming juga bisa dikatakan sebagai hobi.

Pada dasarnya, menjadi seorang programmer adalah pekerjaan yang sangat asyik dilakukan. Ini juga merupakan hal yang mudah dilakukan dan banyak mendapat keuntungan. Jadi tidak ada salahnya jika Anda mencoba menjadi seorang programmer, bukan? Tidak perlu memikirkan kesulitannya, karena modal utama menjadi seorang programmer adalah ketekunan dan kreatifitas.

Tips Memilih Laptop yang Cocok untuk Programming

Tips Memilih Laptop yang Cocok untuk Programming! Ketika kita memilih jalan untuk menjadi seorang programmer, tentunya kita berpikir nih, apa saja hal yang wajib kita penuhi untuk programming ya? Dan, saya rasa itu bukanlah perkara yang sulit untuk di tempuh.

Nah, hal utama yang memudahkan jalan Anda untuk menjadi programmer ialah memilih laptop yang ramah dengan pekerjaan Anda. Sebenarnya tidak ada merek laptop khusus yang direkomendasikan untuk digunakan dalam belajar pemrograman. Namun, ada beberapa spekulasi yang sebaiknya Anda penuhi dalam memilih laptop untuk programming.

tips memilih laptop yang cocok untuk programming


Anda jangan khawatir, dalam artikel kali ini, saya akan membagikan sedikit tips bermanfaat bagi Anda yang ingin atau mungkin sudah menjadi programmer. Inilah beberapa tips yang bisa membantu  Anda untuk memilih laptop yang cocok untuk programming.

Kenali Kebutuhan


Untuk langkah awal yang harus Anda lakukan ketika memilih laptop untuk programming ialah Anda harus memahami bidang Anda. Tidak semua laptop dapat memebuhi semua kebutuhan. Jadi Anda perlu memahami bidang yang Anda tekuni dan disesuaikan dengan spesifikasi laptop yang Anda butuhkan. Untuk programming pembuat game maka harus lebih memfokuskan kepada grafis daripada pemrograman web.

Bersifat Portabel


Menjadi seoarang programmer harus siap untuk bekerja dimana saja. Dan kebanyakan para programmer memang banyak menyelesaikan pekerjaannya dimana saja, memilih tempat yang nyaman untuknya. Untuk itu, Anda harus memilih laptop yang simple. Jenis laptop berukuran 14 inci adalah pilihan yang pas untuk Anda.

Ukuran RAM yang Besar


Untuk ukuran RAM memang merupakan pertimbangan yang mendasar untuk pekerjaan programming. Mengapa? Karena bagi Anda pekerja program yang berat seperti membuat game dengan unity atau membuat program Android, maka wajib menggunaka laptop yang memiliki ukuran besar. Untuk bahasa pemrograman Android yang menggunakan Android Studio, Anda akan sangat lancar dan nyaman jika memiliki RAM 8 GB. Pada intinya, semakin besar ukuran RAM yang dimiliki, maka akan semakin lancar programming yang Anda lakukan.

Kekuatan Prosesor


Ketika Anda memilih laptop terbaik untuk programming, Anda harus tahu bahwa CPU sangat penting. Seperti otak di dalam kepala Anda, CPU menangani setiap aspek fungsi yang melibatkan komputer Anda. Prosesornya ibarat otak untuk komputer Anda.

Bagaimana Laptop yang Cocok untuk Programming?

Kinerja CPU

CPU bertanggung jawab untuk menangani jutaan bit informasi, dan jika laptop Anda tidak memiliki CPU yang baik, komponen lainnya hampir tidak berguna. Kekuatan CPU diukur dalam Gigahertz, tetapi angka yang lebih tinggi tidak sama dengan prosesor yang lebih baik.

Prosesor yang lebih baru mungkin memiliki kecepatan yang lebih rendah di Gigahertz daripada prosesor yang lebih lama, tetapi dalam hal kinerja, itu bisa jauh lebih unggul. Jika Anda menginginkan pengalaman menjadi programmer terbaik, pertimbangkan untuk membeli laptop dengan prosesor i5 atau i7.

Semua prosesor memiliki core, dan jumlah core yang lebih tinggi menawarkan kecepatan dan kinerja yang optimal. Jika Anda tidak menginginkan prosesor Intel, Anda boleh saja memilih laptop dengan prosesor AMD yang lebih baru.

Resolusi Layar

Saat memilih laptop untuk programming, mempertimbangkan resolusi layar juga merupakan hal yang penting bagi seorang programmer ketika sedang ngoding. Proses pengodingan melibatkan duduk di depan layar komputer untuk waktu yang lama, itulah sebabnya fitur kenyamanan mata sangat penting. Hal yang paling penting adalah laptop yang cocok untuk ngoding harus memiliki fitur yang nyaman dan mendukung.

Untuk itu, Anda harus memilih laptop dengan layar yang cukup besar untuk mengurangi ketegangan mata. Programming bisa sulit dengan layar kecil karena Anda akan kesulitan melihat apa yang Anda lakukan.

Keyboard yang Nyaman


Ketika manusia berhadapan dengan komputer, ia pasti akan banyak berinteraksi dengan keyboard. Seorang programmer pasti selalu bermain dengan kode. Untuk itu, penggunaan keyboard yang nyaman saat ngoding merupakan hal yang sangat dibutuhkan oleh seorang programmer.
Keyboard yang ringan dan lembut saat disentuh sangat cocok untuk digunakan ketika ngoding. Nah, untuk itu, Anda harus memilih laptop yang memiliki keyboard dengan tombol-tombolnya yang mudah ditekan dan nyaman.

Nah, demikianlah beberapa ulasan dan tips memilih laptop untuk programming dengan benar. Jadi sekali saya tegaskan bahwa tidak ada merek laptop tertentu yang harus Anda pilih untuk programming. Semua itu tergantung kebutuhan yang sesuai dengan jenis pemrograman yang Anda tekuni. Anda harus memcocokkan dengan beberapa spesifikasi yang dimiliki oleh laptop tersebut seperti yang saya sebut di atas.

Belajar Membuat Game 2D Dengan Java dan Netbeans Bagian 6: Sistem Koordinat

Pada kesempatan kali ini akan di bahas mengenai sistem koordinat. Pada Java sistem koordinat grafik ini menggunakan satuan piksel. Tutorial ini di buat berseri jadi setiap class dan kodenya dari tutorial bagian pertama terus berkaitan.

Piksel itu sendiri adalah unit terkecil dari gambar digital atau grafik yang dapat ditampilkan dan diwakili pada perangkat tampilan digital. Gabungan piksel membentuk gambar, video, teks, atau hal yang terlihat lengkap di layar komputer. Sebuah pixel juga dikenal sebagai elemen gambar.

Ok, kembali lagi ke koordinat dalam Java. Tidak seperti sistem koordinat cartesian yang mungkin pernah anda pelajari di sekolah, koordinat grafik Java di representasikan seperti gambar di bawah ini:

Java coordinate system
Sistem koordinat Java

Pertama yang menjadi perhatian adalah koordinat (0,0), atau x = 0, y = 0. Bila garis tebal itu adalah layar, maka koordinat (0,0) itu berada di paling ujung bagian kiri atas layar.

Kemudian, sebagai contoh, perhatikan koordinat (120, 150) atau x = 120 dan y = 150. Dari situ bisa dilihat pada nilai x jika semakin ke kanan nilainya semakin besar dan untuk nilai y semakin ke bawah nilainya juga akan semakin besar. Demikan pula sebaliknya. Sedangkan perpotongan dari x dan y akan menjadi titik koordinatnya.

Dengan demikian, anda bisa menentukan dimana gambar akan diletakkan.

Berikut ini adalah contoh menggambar kotak sederhana pada layar menggunakan objek Graphics. Jadi kita ubah sedikit kode pada method render() di class Game dari tutorial sebelumnya seperti di bawah ini:

package com.bahasajava.gamejava;
 
import com.bahasajava.gamejava.gamedisplay.GameDisplay;

import java.awt.Graphics;
import java.awt.image.BufferStrategy;
import java.util.logging.Level;
import java.util.logging.Logger;
 
//Mnegimplementasikan interface Runnable untuk thread
public class Game implements Runnable {
   private GameDisplay gameDisplay;
    
   public int lebar, tinggi;
   public String judul;
    
   private Thread thread;//thread yang dijalankan
    
   private boolean gameRunning = false;//Untuk mengontrol while loop
    
   private BufferStrategy bufferStrategy;
   private Graphics graphics;
    
   public Game(String judul, int lebar, int tinggi){
       this.lebar = lebar;
       this.tinggi = tinggi;
       this.judul= judul;
        
   }
    
   //Method inisialisasi() akan menginisialisasi semua graphic
   //dan akan memastikan semuanya siap sebelum game dijalankan
   private void inisialisasi(){
       //objek gameDisplay memiliki konstruktor dengan parameter
       //judul, lebar, dan tinggi, jadi semua parameter ini harus terpenuhi
       gameDisplay = new GameDisplay(judul, lebar, tinggi);
   }
    
   //Method updateGame() akan terus melakukan update game
   private void updateGame(){
        
   }
    
   //Method render() untuk merender 
   private void render(){
        
       bufferStrategy = gameDisplay.getCanvas().getBufferStrategy();
        
       if(bufferStrategy == null){
          //Membuat buffer strategy dengan menggunakan 3 buffer
          gameDisplay.getCanvas().createBufferStrategy(3);
          return;
       }
        
       graphics = bufferStrategy.getDrawGraphics();
       
       //Membersihkan seluruh layar
       graphics.clearRect(0, 0, lebar, tinggi);
       
       //Menggambar persegi
       graphics.drawRect(120, 150, 100, 80);
       
       bufferStrategy.show();//Menampilkan grafik
        
       //Method dispose() akan Membuang konteks grafik ini dan 
       //melepaskan sumber daya sistem apa pun yang digunakan.
       graphics.dispose();
   }
 
    //run() adalah method abstract yang harus diimplentasikan
    //ketika class mengimplementasikan Runnable
    @Override
    public void run() {
        inisialisasi();
         
        //Di sini kita akan menjalankan loop game
        while(gameRunning){
            updateGame();
            render();
        }
        stopThread();
    }
     
    //synchronized digunakan ketika langsung berhubungan dengan thread
    //startThread() akan menjalankan thread
    public synchronized void startThread(){
         
        if(gameRunning)
            return;
         
        gameRunning = true;
         
        //Konstruktor Thread mengambil parameter class mana yang 
        //akan di jalankan, dalam hal ini adalah class Game
        //oleh karena itu menggunakan keyword this
        thread = new Thread(this);
        thread.start();//Method start() ini akan menjalankan method run()
    }
     
    //stopThread akan menghentikan thread
    public synchronized void stopThread(){
       if(!gameRunning)
           return;
        
       gameRunning = false;
         
       //Method join() melemparkan checked exception sehingga
       //akan memaksa anda untuk menggunakan blok try-catch
       //atau bisa juga dengan menggunakan clausa Throws
       try {
           thread.join();//Method join() akan menunggu thread untuk "mati"
       } catch (InterruptedException ex) {
           Logger.getLogger(Game.class.getName()).log(Level.SEVERE, null, ex);
       }
    }  
     
}

Sekarang perhatikan pada method render().

Line 58:
graphics.clearRect(0, 0, lebar, tinggi);

Objek graphics akan membersihkan keseluruhan layar sebelum menggambar apa saja.

Line 61:
graphics.drawRect(120, 150, 100, 80);

Objek graphics akan menggambar sebuah persegi pada koordinat x = 120 dan y = 150, dengan ukuran lebar = 100 dan tinggi = 80 piksel.

Berikut ini adalah hasil ketika program di jalankan:

Menggambar persegi menggunakan drawRect()

Selanjutnya, jika anda ingin mengisi persegi tersebut dengan warna, mudah saja, ganti kode di line 61 itu dengan :

graphics.fillRect(120, 150, 100, 80);

Maka hasilnya adalah seperti di bawah ini:

menggambar persegi dengan fillRect
Menggambar persegi dengan fillRect()

Sedangkan jika anda ingin mengisi persegi tersebut dengan warna tertentu, misalnya hijau, itu mudah saja. Anda tinggal menggunakan method setColor seperti di bawah ini:

graphics.setColor(Color.GREEN);
graphics.fillRect(120, 150, 100, 80);

Jangan lupa ya, anda juga harus mengimport class java.awt.Color;.

Berikut ini adalah hasilnya:

menggambar persegi warna hijau dengan Java
Menggambar persegi warna hijau dengan method setColor() dan fillRect()

Ok, silakan bereksperimen dengan kode tersebut, misalnya dengan meletakkan persegi yang lain dengan warna, ukuran, dan posisi yang berbeda. Selain itu anda bisa juga mencoba method yang lain untuk menggambar garis dengan drawLine(), atau menggambar oval dengan drawOval(), dan method-method lainnya yang terdapat pada class Graphics.

Sampai di sini dulu ya, pada tutorial selanjutnya akan di bahas mengenai cara loading image dan menampilkannya pada layar. Salam.

Belajar Membuat Game 2D Dengan Java dan Netbeans Bagian 5: BufferStrategy dan Menampilkan Grafik

Halo sobat, kali ini admin mau melanjutkan tutorial membuat game 2D dengan Java dan IDE Netbeans. Oh, iya tutorial ini berseri ya, jadi sobat lebih baik mengikutinya dari awal, karena jika tidak demikian maka beresiko "tersesat". Ya, nggaklah cuma bercanda saja.

Setiap kode dan penjelasannya di buat tahap demi tahap. Jadi anda tidak hanya copy paste kode kemudian di jalankan di Netbeans tanpa tahu apa maksudnya. Dan cara terbaik belajar koding sebenarnya adalah harus menulisnya sendiri, karena akan beda "feel-nya" dengan hanya langsung copy paste.

Ok, kali ini kita akan masuk ke tahap BufferStrategy dan juga menampilkan grafik.

Menariknya adalah dari awal dibicarakan mengenai beberapa objek, misalnya objek Canvas sebagai tempat grafik, terus objek JFrame sebagi penampung atau container, kemudian juga ada objek Game yang menjalankan thread, dan lainnya.

Jadi kesimpulan apa yang bisa di ambil?

Kesimpulannya adalah program itu hanyalah komunikasi antar objek yang dibuat dari class untuk mencapai suatu tujuan, di mana masing -masing objek memiliki method dan properti untuk melaksanakan tugasnya. Apa kesimpulan ini terasa sedikit menggelitik pemahaman anda mengenai Java sebagai pemrograman berorientasi objek?.

Nah, sekarang misalnya anda ingin membuat grafik. Pasti dong ada objek yang melakukan tugas menggambar?. Ya, itu adalah objek dari class Graphics.

BufferStrategy

Apa itu buffer strategy?

Buffer strategy adalah suatu cara atau teknik untuk merender gambar pada layar menggunakan gambar buffer untuk menghindari tampilan gambar game yang berkedip (flickering).

Jadi, jika anda pernah memainkan game jadul terus melihat gambarnya kurang sempurna atau berkedip-kedip ini karena grafik langsung dirender pada layar. Bad idea!.

Sedangkan yang dimaksud dengan buffer itu sendiri di sini adalah layar komputer yang tersembunyi di dalam komputer.

Mungkin pengertian mengenai buffer ini membuat anda bingung. Biar lebih jelas, buffer strategy ini bekerja seperti pada gambar berikut:

Buffer strategy in action

Jangan anggap buffer itu adalah layar komputer yang nyata, gambar di atas adalah bentuk representasi dari memori komputer. Yang benar-benar layar komputer adalah layar aktual.

Jadi, pertama-tama komputer akan menggambar pada buffer yang pertama (lihat alur tanda panah). Kemudian setelah proses menggambar di buffer pertama selesai, buffer tersebut akan pindah ke buffer berikutnya, dan di sini kita masih belum melihat apa-apa. Selanjutnya buffer itu akan pindah lagi ke layar aktual di mana kita bisa melihatnya.

Teknik buffer strategy ini di perlukan untuk mencegah grafik berkedip (flickering) yang bisa saja terjadi jika proses render langsung di lakukan pada layar aktual. Dengan demikian grafik yang terlihat akan terlihat mulus. Mantap ya!.

Graphics

Objek Graphics bertugas untuk mengambar grafik. Objek ini bisa diibaratkan kuas serba bisa, atau apalah itu, yang jelas ia bisa menggambar grafik secara penuh, bisa menggambar kotak, persegi, garis, dengan komposisi warna bervariasi.

Saatnya Merender, back to Coding!

Merender ini bisa diartikan dengan menggambar segala sesuatunya pada layar. Kali ini perhatian anda akan sangat terfokus pada method render di yang berada class Game, dimana method ini akan terus dipanggil untuk merender ketika game berjalan.

Tapi, untuk merender anda perlu untuk mengakses objek Canvas yang yang berada di class GameDisplay. Kenapa demikian? Ini karena anda akan menggambar pada canvas. Nah, bagaimana cara melakukannya?

Mudah saja, anda cukup menggunakan method getter. Di sini tidak akan lagi di jelaskan apa itu method getter karena sudah dibahas sebagai dasar pemrograman Java.

Ok deh sobat, berikut ini adalah kode untuk class GameDisplay, setelah di tambahkan method getter untuk Canvas.

package com.bahasajava.gamejava.gamedisplay;

import java.awt.Canvas;
import java.awt.Dimension;
import javax.swing.JFrame;

public class GameDisplay {
    
    private JFrame frame;//sebagai container komponen lainnya
    
    private int lebar, tinggi;//dalam ukuran piksel
    private String judul;
    
    private Canvas canvas;//Untuk meletakkan gambar atau grafik
    
    //Constructor
    public GameDisplay(String judul, int lebar, int tinggi){
        this.judul = judul;
        this.lebar = lebar;
        this.tinggi = tinggi;
        
        buatGameDisplay();//Memanggil method buatGameDisplay();
    }
    
    private void buatGameDisplay(){
        frame = new JFrame(judul);//Mengatur judul
        frame.setSize(lebar, tinggi);//Mengatur ukuran lebar dan tinggi window
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//Agar window di close sempurna
        frame.setResizable(false);//Agar ukuran window tidak bisa di ubah
        frame.setLocationRelativeTo(null);//Agar window berada ditengah layar
        frame.setVisible(true);//Agar window terlihat saat ditampilkan
        
        canvas = new Canvas();//Membuat objek canvas
        
        //Memilih ukuran canvas yang sesuai dengan ukuran lebar dan tinggi frame
        canvas.setPreferredSize(new Dimension(lebar, tinggi));
        
        //Untuk selalu menjamin ukuran kanvas sesuai yang diinginkan
        canvas.setMaximumSize(new Dimension(lebar, tinggi));
        canvas.setMinimumSize(new Dimension(lebar, tinggi));
        
        frame.add(canvas);//Menambahkan canvas ke dalam frame
        
        //Agar window pas sesuai dengan ukuran yang diinginkan atau dipilih
        //sehingga bisa melihat ukuran canvas secara keseluruhan
        frame.pack();
        
    }
    
    //Method getter untuk Canvas
    public Canvas getCanvas(){
        return canvas;
    }
}

Perhatikan pada line 51 - 52. Pada baris kode di atas di buat method getter untuk canvas.

Selanjutnya di bawah ini adalah kode untuk class game, dimana di dalam method render sudah berisi pernyataan-pernyataan untuk menggunakan buffer strategy dan juga menggambar menggunakan objek Graphics.

package com.bahasajava.gamejava;

import com.bahasajava.gamejava.gamedisplay.GameDisplay;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.image.BufferStrategy;
import java.util.logging.Level;
import java.util.logging.Logger;

//Mnegimplementasikan interface Runnable untuk thread
public class Game implements Runnable {
   private GameDisplay gameDisplay;
   
   public int lebar, tinggi;
   public String judul;
   
   private Thread thread;//thread yang dijalankan
   
   private boolean gameRunning = false;//Untuk mengontrol while loop
   
   private BufferStrategy bufferStrategy;
   private Graphics graphics;
   
   public Game(String judul, int lebar, int tinggi){
       this.lebar = lebar;
       this.tinggi = tinggi;
       this.judul= judul;
       
   }
   
   //Method inisialisasi() akan menginisialisasi semua graphic
   //dan akan memastikan semuanya siap sebelum game dijalankan
   private void inisialisasi(){
       //objek gameDisplay memiliki konstruktor dengan parameter
       //judul, lebar, dan tinggi, jadi semua parameter ini harus terpenuhi
       gameDisplay = new GameDisplay(judul, lebar, tinggi);
   }
   
   //Method updateGame() akan terus melakukan update game
   private void updateGame(){
       
   }
   
   //Method render() untuk merender 
   private void render(){
       
       bufferStrategy = gameDisplay.getCanvas().getBufferStrategy();
       
       if(bufferStrategy == null){
          //Membuat buffer strategy dengan menggunakan 3 buffer
          gameDisplay.getCanvas().createBufferStrategy(3);
          return;
       }
       
       graphics = bufferStrategy.getDrawGraphics();
       
       graphics.setColor(Color.GREEN);
       graphics.fillRect(0, 0, lebar, tinggi);
      
       bufferStrategy.show();//Menampilkan grafik
       
       graphics.dispose();
   }

    //run() adalah method abstract yang harus diimplentasikan
    //ketika class mengimplementasikan Runnable
    @Override
    public void run() {
        inisialisasi();
        
        //Di sini kita akan menjalankan loop game
        while(gameRunning){
            updateGame();
            render();
        }
        stopThread();
    }
    
    //synchronized digunakan ketika langsung berhubungan dengan thread
    //startThread() akan menjalankan thread
    public synchronized void startThread(){
        
        if(gameRunning)
            return;
        
        gameRunning = true;
        
        //Konstruktor Thread mengambil parameter class mana yang 
        //akan di jalankan, dalam hal ini adalah class Game
        //oleh karena itu menggunakan keyword this
        thread = new Thread(this);
        thread.start();//Method start() ini akan menjalankan method run()
    }
    
    //stopThread akan menghentikan thread
    public synchronized void stopThread(){
       if(!gameRunning)
           return;
       
       gameRunning = false;
        
       //Method join() melemparkan checked exception sehingga
       //akan memaksa anda untuk menggunakan blok try-catch
       //atau bisa juga dengan menggunakan clausa Throws
       try {
           thread.join();//Method join() akan menunggu thread untuk "mati"
       } catch (InterruptedException ex) {
           Logger.getLogger(Game.class.getName()).log(Level.SEVERE, null, ex);
       }
    }  
    
}

Ok, sebelum masuk ke method render() di line 44, perhatikan bahwa variable objek telah di buat untuk class BufferStrategy dan juga Graphics di line 20 -21.

Sekarang lihat pada body pada method render(), line 46:
bufferStrategy = gameDisplay.getCanvas().getBufferStrategy();

Baris kode di atas akan menetapkan bufferStrategy equal dengan buffer strategy apapun yang terdapat pada canvas.

Line 50:
gameDisplay.getCanvas().createBufferStrategy(3);

Kode tersebut menyatakan bahwa buffer strategy akan menggunakan 3 buffer. Ini mungkin adalah jumlah maksimum buffer yang sebaiknya digunakan. Jadi lebih baik tidak lebih dari 3.

Selanjutnya untuk menggambar objek, anda menggunakan objek Graphics.

Line 54:
graphics = bufferStrategy.getDrawGraphics();

Method getDrawGraphics() dari class BufferStrategy akan membuat sebuah konteks graphics untuk buffer gambar.

Line 57-58:
graphics.setColor(Color.GREEN);
graphics.fillRect(0, 0, lebar, tinggi);

Mengatur konteks warna graphics menjadi warna spesifik yaitu hijau. Kemudian mengisi warna tersebut pada persegi di koordinat x = 0 dan y = 0, dan kemudian ukuran lebar dan panjang area persegi tersebut ditentukan sama dengan ukuran panjang dan lebar layar game.

Berikut ini adalah hasil ketika program di jalankan:

Render grafik Java menggunakan buffer strategy

Hmm, jadi kode sepanjang itu hanya untuk memberikan tampilan seperti ini saja? Ya. Ini adalah basic di mana game akan di jalankan dan di tampilkan nantinya. Tapi,sebenarnya banyak yang sudah anda pelajari. Dari mulai frame, canvas, thread, buffer strategy, warna, dan grafik dengan berbagai method yang ada pada setiap class.

Jadi, sampai di sini dulu ya. Selanjutnya nanti kita akan membahas mengenai sistem koordinat dan grafik lebih dalam lagi.

Belajar Membuat Game 2D Dengan Java dan Netbeans Bagian 4: Thread dan Game Loop

Pada tutorial belajar membuat game 2D dengan java bagian 4 ini anda akan mempelajari tentang thread dan juga game loop.

Jadi, apa itu thread pada Java?

Di sini tidak akan dijelaskan penjelasan mengenai thread secara teknis, karena begitu banyak artikel dan tutorial di luar sana yang membahas mengenai topik tersebut.

Saya hanya akan menjelaskan sesimpel mungkin mengenai thread ini dalam tujuan pembuatan game sederhana ini.

Thread adalah program mini.

Maksudnya?

Pada program game ini terdapat beberapa class. Dan misalkan ketika anda hanya ingin program class Game yang dijalankan saja, ini di sebut dengan thread. Jadi thread ini adalah program mini yang terdapat di dalam program besar, dalam hal ini program game 2D yang anda buat. Hanya inilah poin penting yang harus anda pahami di sini sebenarnya.

Tapi berikut ini adalah pengetahuan lebih lanjut mengenai thread.

Setiap thread  kendalikan dan dibuat  oleh class java.lang.Thread. Ketika sebuah thread di buat maka itu menjadi prioritas. Thread dengan prioritas paling tinggi akan dieksekusi lebih dulu, baru kemudian diikuti oleh thread lain yang prioritasnya lebih rendah.

Setiap program Java memiliki setidaknya satu thread yang dikenal sebagai thread utama. Thread ini dibuat oleh JVM pada saat program dijalankan, ketika method main dipanggil oleh thread utama.

Thread dapat dihentikan oleh JVM ketika salah satu kondisi di bawah ini terpenuhi:
  • Method exit dipanggil dan disahkan
  • Tidak ada lagi thread yang berjalan di belakang layar (daemon thread) 

Membuat Thread Pada Class Game

Sekarang anda akan membuat thread pada class Game. 

Apa artinya?

Artinya adalah segala sesuatnya yang terdapat di class Game akan dijalankan secara terpisah dari semua kode lainnya yang terdapat dalam aplikasi. Atau dengan kata lain menjalankan class Game secara terpisah dari keseluruhan kode program.

Untuk melakukannya anda harus mengimplementasikan interface Runnable dan mengimplementasikan method abstrak run() dengan mengoverride-nya pada class Game. 

Berikut ini adalah update kode program class Game dengan thread:

package com.bahasajava.gamejava;

import com.bahasajava.gamejava.gamedisplay.GameDisplay;
import java.util.logging.Level;
import java.util.logging.Logger;

//Mnegimplementasikan interface Runnable untuk thread
public class Game implements Runnable {
   private GameDisplay gameDisplay;
   
   public int lebar, tinggi;
   
   private Thread thread;//thread yang dijalankan
   
   public Game(String judul, int lebar, int tinggi){
       this.lebar = lebar;
       this.tinggi = tinggi;
       //objek gameDisplay memiliki konstruktor dengan parameter
       //judul, lebar, dan tinggi, jadi semua parameter ini harus terpenuhi
       gameDisplay = new GameDisplay(judul, lebar, tinggi);
   }
   
   //Method ini akan menginisialisasi semua graphic
   //dan akan memastikan semuanya siap sebelum game dijalankan
   private void inisialisasi(){
       
   }

    //run() adalah method abstract yang harus diimplentasikan
    //ketika class mengimplementasikan Runnable
    @Override
    public void run() {
        inisialisasi();//Memanggil method inisialisasi()
        
        //Di sini kita akan menjalankan loop game
    }
    
    //synchronized digunakan ketika langsung berhubungan dengan thread
    //startThread() akan menjalankan thread
    public synchronized void startThread(){
        //Konstruktor Thread mengambil parameter class mana yang 
        //akan di jalankan, dalam hal ini adalah class Game
        //oleh karena itu menggunakan keyword this
        thread = new Thread(this);
        thread.start();//Method start() ini akan menjalankan method run()
    }
    
    //stopThread akan menghentikan thread
    public synchronized void stopThread(){
       //Method join() melemparkan checked exception sehingga
       //akan memaksa anda untuk menggunakan blok try-catch
       //atau bisa juga dengan menggunakan clausa Throws
       try {
           thread.join();//Method join() akan menunggu thread untuk "mati"
       } catch (InterruptedException ex) {
           Logger.getLogger(Game.class.getName()).log(Level.SEVERE, null, ex);
       }
    }  
    
}

Membuat Loop Pada Game

Secara garis besarnya, setiap game apapun memiliki diagram loop seperti berikut ini:
java game loop


Dari diagram di atas kita bisa menyimpulkan:

  • Pertama ketika program dijalankan, apakah program tersebut di close? Jika ya program dihentikan. Tapi bila tidak, maka input dari user akan didapatkan.
  • Setelah itu, semua variabel, posisi objek, grafik, dan lainnya akan diupdate.
  • Kemudian, proses render atau menggambar akan dilakukan
  • Proses akan kembali lagi ke tahap awal dan loop atau perulangan akan terus berjalan sampai dengan program di hentikan.

Berikut ini adalah update koding dari class Game yang telah diberi loop dan juga ada beberapa method tambahan yaitu inisialisasi(), updateGame, dan render().

package com.bahasajava.gamejava;

import com.bahasajava.gamejava.gamedisplay.GameDisplay;
import java.util.logging.Level;
import java.util.logging.Logger;

//Mnegimplementasikan interface Runnable untuk thread
public class Game implements Runnable {
   private GameDisplay gameDisplay;
   
   public int lebar, tinggi;
   public String judul;
   
   private Thread thread;//thread yang dijalankan
   
   private boolean gameRunning = false;//Untuk mengontrol while loop
   
   public Game(String judul, int lebar, int tinggi){
       this.lebar = lebar;
       this.tinggi = tinggi;
       this.judul= judul;
       
   }
   
   //Method inisialisasi() akan menginisialisasi semua graphic
   //dan akan memastikan semuanya siap sebelum game dijalankan
   private void inisialisasi(){
       //objek gameDisplay memiliki konstruktor dengan parameter
       //judul, lebar, dan tinggi, jadi semua parameter ini harus terpenuhi
       gameDisplay = new GameDisplay(judul, lebar, tinggi);
   }
   
   //Method updateGame() akan terus melakukan update game
   private void updateGame(){
       
   }
   
   //Method render() untuk merender 
   private void render(){
       
   }

    //run() adalah method abstract yang harus diimplentasikan
    //ketika class mengimplementasikan Runnable
    @Override
    public void run() {
        inisialisasi();
        
        //Di sini kita akan menjalankan loop game
        while(gameRunning){
            updateGame();
            render();
        }
        stopThread();
    }
    
    //synchronized digunakan ketika langsung berhubungan dengan thread
    //startThread() akan menjalankan thread
    public synchronized void startThread(){
        
        if(gameRunning)
            return;
        
        gameRunning = true;
        
        //Konstruktor Thread mengambil parameter class mana yang 
        //akan di jalankan, dalam hal ini adalah class Game
        //oleh karena itu menggunakan keyword this
        thread = new Thread(this);
        thread.start();//Method start() ini akan menjalankan method run()
    }
    
    //stopThread akan menghentikan thread
    public synchronized void stopThread(){
       if(!gameRunning)
           return;
       
       gameRunning = false;
        
       //Method join() melemparkan checked exception sehingga
       //akan memaksa anda untuk menggunakan blok try-catch
       //atau bisa juga dengan menggunakan clausa Throws
       try {
           thread.join();//Method join() akan menunggu thread untuk "mati"
       } catch (InterruptedException ex) {
           Logger.getLogger(Game.class.getName()).log(Level.SEVERE, null, ex);
       }
    }  
    
}

Penjelasan kode


Sekarang fokus ke method startThread() pada line 59. Di body method terdapat pernyataan if, pada line 61 - 62 yaitu:

if(gameRunning)
            return;

Ini artinya,jika game sudah berjalan maka jangan eksekusi kode berikutnya, yaitu kode di line 64 - 70. Dan jika game belum berjalan, maka gameRunning akan di set ke nilai true (line 64 di eksekusi) dan tentu saja kode di line 69 - 70 juga akan dieksekusi.

Perhatikan, kode di line 70, yaitu thread.start() akan memanggil method run().

Nah, apa yang dilakukan oleh method run() tersebut?

  • Pertama, method tersebut akan memanggil method inisialisasi yang akan menampilkan window game (line 47)
  • Kedua, method ini akan menjalankan loop ketika game berjalan, jadi method updateGame() dan render() akan terus dipanggil, selama parameter gameRunning bernilai true,(line 50-53). Secara default anda sudah mengatur nilai gameRunning bernilai false, lihat line 16.
  • Ketiga, ketika game berhenti atau gameRunning bernilai false maka method stopThread() akan dipanggil, lihat line 54.

Selanjutnya, anda bisa melihat body method stopThread(),line 75 - 88.

Perhatikan di line 75 - 76 ada pernyatan if:

if(!gameRunning)
           return;

Artinya adalah jika game tidak berjalan (false) maka kode di bawahnya tidak perlu dieksekusi, yaitu kode line 78 - 87. Sebaliknya,jika gameRunning itu bernilai true, maka gameRunning akan di set menjadi false, kemudian kode di bawahnya dieksekusi.

Menjalankan thread

Untuk menjalankan thread ini kita kembali ke class Main, yang memiliki main method.

Berikut ini adalah kode class Main tersebut dari tutorial sebelumnya:

package com.bahasajava.gamejava;

public class Main {
    //main method
    public static void main(String[] args) {
       new Game("My Java Game", 640, 360);
    }
    
}

Cobalah untuk menjalankan program dan anda tidak akan melihat window game tersebut.

Apa yang terjadi?

Ini dikarenakan anda tidak memanggil method startThread().

Dan method start ini adalah method objek. Jadi anda harus membuat objek Game terlebih dahulu untuk memanggil method tersebut.

Lihat kode di bawah ini untuk memanggil method startThread().

package com.bahasajava.gamejava;

public class Main {
    //main method
    public static void main(String[] args) {
       Game game = new Game("My Java Game", 640, 360);
       game.startThread();//objek Game memanggil method start thread
    }
    
}

Sekarang coba jalankan aplikasi lagi, anda akan melihat window game ditampilkan di layar. Namun sekarang anda sudah menggunakan thread.

Admin harap penjelasan in masuk akal dan mudah diterima oleh teman-teman meskipun agak rumit. Sampai di sini dulu ya. Pada tutorial berikutnya kita akan masuk ke BufferStrategy dan juga dasar grafik.

Baca juga:
Bagian 3

Belajar Membuat Game 2D Dengan Java dan Netbeans Bagian III: Canvas

Oke, lanjut lagi ya. Pada bagian II dari tutorial ini, anda sudah membuat window untuk menampilkan game. Tapi, masalahnya adalah tidak ada grafik atau gambar yang ditampilkan pada layar.

Sebelum beranjak ke situ, anda juga sudah mengetahui jika sebuah komponen java.awt.Canvas akan merepresentasikan area persegi yang kosong dan dapat digunakan untuk menampung grafik-grafik tersebut.

Oleh sebab itu, pembahasan kali ini adalah mengenai Canvas terlebih dahulu. Jadi kita akan menampilkan gambar atau grafik seperti player, background, dan lain-lain melalui Canvas nantinya.

Dengan kata lain anda akan menggambar semuanya pada objek Canvas. Kemudian, setelah semua grafik selesai digambar, maka gambar tersebut akan disimpan pada frame. Selanjutnya, anda bisa melihat grafik tersebut melalui layar. Seperti inilah dasar cara kerja program yang harus anda pahami sebenarnya.

Oke, lanjut koding lagi.

Berikut ini adalah kode program untuk class GameDisplay, setelah di update dengan Canvas dan pengaturannya.

package com.bahasajava.gamejava.gamedisplay;

import java.awt.Canvas;
import java.awt.Color;
import java.awt.Dimension;
import javax.swing.JFrame;

public class GameDisplay {
    
    private JFrame frame;//sebagai container komponen lainnya
    
    private int lebar, tinggi;//dalam ukuran piksel
    private String judul;
    
    private Canvas canvas;//Untuk meletakkan gambar atau grafik
    
    //Constructor
    public GameDisplay(String judul, int lebar, int tinggi){
        this.judul = judul;
        this.lebar = lebar;
        this.tinggi = tinggi;
        
        buatGameDisplay();//Memanggil method buatGameDisplay();
    }
    
    private void buatGameDisplay(){
        frame = new JFrame(judul);//Mengatur judul
        frame.setSize(lebar, tinggi);//Mengatur ukuran lebar dan tinggi window
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//Agar window di close sempurna
        frame.setResizable(false);//Agar ukuran window tidak bisa di ubah
        frame.setLocationRelativeTo(null);//Agar window berada ditengah layar
        frame.setVisible(true);//Agar window terlihat saat ditampilkan
        
        canvas = new Canvas();//Membuat objek canvas
        
        //Memilih ukuran canvas yang sesuai dengan ukuran lebar dan tinggi frame
        canvas.setPreferredSize(new Dimension(lebar, tinggi));
        
        //Untuk selalu menjamin ukuran kanvas sesuai yang diinginkan
        canvas.setMaximumSize(new Dimension(lebar, tinggi));
        canvas.setMinimumSize(new Dimension(lebar, tinggi));
        
        //Hanya untuk menguji jika canvas telah ditambahkan dengan menambahkan background warna merah
        canvas.setBackground(Color.red);//Nanti hapus lagi baris kode ini ya!!!
        
        frame.add(canvas);//Menambahkan canvas ke dalam frame
        
        //Agar window pas sesuai dengan ukuran yang diinginkan atau dipilih
        //sehingga bisa melihat ukuran canvas secara keseluruhan
        frame.pack();
        
    }
}

Pada line 37 sampai 41, anda akan melihat pengaturan ukuran Canvas harus menggunakan class Dimension. Jadi anda tidak bisa secara sederhana hanya memasukkan nilai variabel lebar dan tinggi seperti pada JFrame untuk mengatur ukurannya. Dalam kasus ini adalah objek Dimension adalah anonymous objek. Class Dimension ini akan mengenkapsulasikan lebar dan tinggi dari suatu komponen dalam satu objek tunggal.

Anda kemudian bisa menuju ke class Main dan mengeksekusi lagi program ini.

Berikut ini adalah tampilan window game yang anda buat dengan canvas yang memiliki background merah.



Warna background merah itu hanya untuk menguji saja jika canvas sudah ditempatkan dalam frame, anda bisa menghapus kode di line 4 dan 44 untuk menghilangkan warna background tersebut.

Membuat Class Yang Memegang Kode Dasar Game


Selanjutnya, anda bisa membuat satu class yang sangat penting karena class ini yang memegang kode dasar dari game seperti memulai, menjalankan, menghentikan game, dan sebagainya.

Buat satu class dalam package com.bahasajava.gamejava dan beri nama class tersebut Game.


class Game java Netbeans


Class game ini akan membutuhkan objek GameDisplay. Jadi kita perlu membuat variabel instance dari class GameDisplay dari pada class Game.

Berikut ini adalah kode pada class Game:

package com.bahasajava.gamejava;

import com.bahasajava.gamejava.gamedisplay.GameDisplay;

public class Game {
   private GameDisplay gameDisplay;
   
   public int lebar, tinggi;
   
   public Game(String judul, int lebar, int tinggi){
       this.lebar = lebar;
       this.tinggi = tinggi;
       //objek gameDisplay memiliki konstruktor dengan parameter
       //judul, lebar, dan tinggi, jadi semua parameter ini harus terpenuhi
       gameDisplay = new GameDisplay(judul, lebar, tinggi);
   }
}

Jadi, ketika objek Game ini diinisialisasi maka kita menginginkan agar objek gameDisplay (lihat line 15) di tampilkan pada layar.

Oleh sebab itu, anda harus membuat objek Game ini pada class Main, yaitu ketika program mulai dieksekusi.

Berikut ini kode yang telah di update pada class Main:

package com.bahasajava.gamejava;

public class Main {
    //main method
    public static void main(String[] args) {
        new Game("My Java Game", 640, 360);
    }
    
}

Sekarang cobalah anda jalankan programnya, anda masih akan mendapatkan tampilan yang sama. Namun, sekarang objek dari class Game telah berperan untuk menampilkan window.

Ok, sampai di sini dulu ya. Pada tutorial berikutnya anda akan belajar menggunakan Threads dan memahami game loop, sebagai konsep penting untuk semua game.

Baca juga:
Bagian I
Bagian II

Belajar Membuat Game 2D Dengan Java dan Netbeans: Bagian I

Halo guys, kali ini admin ingin berbagi tutorial dasar membuat game dengan program Java menggunakan Netbeans.

Belajar membuat game Java ini benar-benar dari nol atau dalam bahasa kerennya “from scratch”. Sebenarnya penggunaan Netbeans tidak wajib, kalau teman-teman suka menggunakan IDE yang lain seperti Eclipse juga tidak masalah.

Berbeda ketika membuat game menggunakan game engine yang sudah memiliki banyak fasilitas seperti Unity. Belajar membuat game dari dasar membutuhkan koding dari awal. Tapi keuntungannya adalah anda bisa lebih memahami kode-kode Java tersebut. Asyik, kan?.

Jika sebelumnya anda pernah menjalankan kode Java untuk sebuah game, tapi tidak mengetahui maksud dari kode-kode tersebut, dan anda ingin mencari tahu, berarti anda memiliki semangat untuk terus berkembang.

Well, jadi kita mulai dari mana ya? Tenang dulu, sekarang pertanyaannya adalah, “Apakah anda sudah mengetahui mengenai dasar pemrograman Java?”.

Bila ya, anda bisa lanjut. Bila belum, saran admin sih, ini cuma saran lho,  lebih baik mengetahui dasar-dasar coding Java terlebih dahulu sebelum masuk ke tutorial membuat game 2D ini, setidaknya sudah memahami mengenai variabel, method, class dan objek. Karena di sini admin tidak akan memberikan penjelasan ulang mengenai basic program Java.

Anda akan lebih difokuskan pada pembuatan game dengan Java, dan membahas mengenai materi dasar seperti window, graphis, render, dan masih banyak lagi. Nanti dari sini, anda bisa lebih mudah memahami framework Java lintas platform untuk game seperti LibGDX.

Untuk persiapannya anda bisa menggunakan IDE Netbeans, bagi yang belum memilikinya silakan mengunduhnya secara gratis.  Sedangkan untuk tutorial penginstalannya dan penggunaannya anda bisa melihat di belajar Java Netbeans untuk pemula.

Membuat Project di Netbeans


Oke, langsung saja, anda bisa membuat project baru dengan di Netbeans, bisa di beri nama Game Java.
  1. Buka IDE Netbeans, pilih File, kemudian Pilih New Project

  2. Kemudian akan muncul jendela baru dan pada bagian Categories pilih Java, terus untuk Projects pilih Java application. Kemudian pilih Next.
  3. membuat project baru netbeans



  4. Setelah itu masukkan pada text field Project Name, yaitu Game Java. Sementara itu untuk Project Location dan Project Folder anda bisa menentukannya sendiri , di direktori mana anda akan menyimpan project tersebut dan pada folder yang anda tentukan. Jangan beri checklist pada checkbox Create Main Class.
  5. memberi nama project netbeans

  6. Setelah itu,pilih Finish.

Membuat Package dan Class

Setelah project baru dibuat dengan nama Game Java, kemudian di dalam project tersebut anda bisa membuat package. Penggunaan package ini bertujuan untuk memudahkan pengorganisiran class-class Java. Terutama jika suatu saat nanti anda bekerja dengan project yang besar.

  1. Klik kanan pada project, dalam hal ini adalah Game Java. Kemudian pilih New, lalu pilih Package.

  2. Masukkan nama package, di sini saya memberinya nama com.bahasajava.gamejava, kemudian tekan Finish.
  3. memberi nama package java netbeans
  4. Setelah itu klik kanan pada package com.bahasajava.gamejava, pilih New, pilih Java Class. Beri nama class tersebut Main. Kemudian tekan Finish.

  5. membuat class pada package java netbeans
  6. Class Main ini akan bertanggung jawab penuh untuk start up game yang anda buat. Oleh karena itu, silakan beri main method pada class tersebut. Main method ini adalah tempat pengeksekusian program dalam hal ini game. 

  7. memberi main method pada java class netbeans


Oke, sampai di sini dulu ya, selanjutnya anda akan masuk kedalam pembuatan window untuk game dan juga pembuatan class-class lainnya.

Baca juga:
Bagian II
Bagian III

Belajar Membuat Game 2D Dengan Java dan Netbeans Bagian II: Window

Hai guys, pada bagian I dari belajar membuat game 2D dengan Java dan Netbeans anda sudah memiliki sebuah class dengan nama Main, yang berada di dalam package com.bahasajava.gamejava.

Selanjutnya, sekarang anda akan menampilkan window pada layar menggunakan JFrame.

Karena class Main hanya digunakan untuk menjalankan game saja, maka untuk tujuan ini kita bisa membuat class baru.

Membuat Class Untuk Menampilkan Window

Tapi, agar mudah dipahami, admin rasa kita harus belajar dari analogi.

Ketika anda melihat foto yang menggunakan bingkai atau frame, anda bisa mengetahui kalo foto itu terdiri dari frame yang menampung kertas foto. Selanjutnya kertas foto itu yang digunakan untuk menempatkan gambar.

Apa hubungannya dengan ini?

Baca pelan-pelan ya, biar mudah di pahami...

Dalam Java, ketika anda ingin menggambar atau menempatkan objek gambar maka anda membutuhkan area kosong yang bisa melakukannya. Dan, untuk menampilkan gambar dan area kosong itu, anda juga membutuhkan objek container atau wadah atau frame yang bisa menampung semuanya.

Java  telah menyediakan banyak class-class yang sangat berguna untuk mendukung program apapun yang anda buat.

Anda bisa menggunakan class Canvas yang merupakan representasi area blank berbetuk persegi untuk meletakkan gambar yang bisa berenteraksi dengan user. Nah, objek Canvas itu adalah ibarat kertas foto kosong dan harus di simpan menggunakan wadah atau container, agar nantinya bisa ditampilkan.

Sedangkan yang bertindak sebagai wadah atau container adalah objek dari komponen Swing yaitu JFrame. Dalam Java, JFrame dan Canvas ini memiliki berbagai method dan properti, sama seperti class-class Java lainnya termasuk class yang anda buat nanti.

Sekarang inilah tujuan anda, hanya menampilkan window blank dengan ukuran tertentu sebagai arena game nantinya, tanpa canvas.

Untuk itu anda butuh class yang bisa menghasilkan objek yang bisa melakukannya.

Ok, ikuti langkah berikut:

  • Pada project Game Java yang sudah anda buat sebelumnya, buatlah package baru dengan nama com.bahasajava.gamejava.gamedisplay
  • Pada package baru tersebut buat sebuah class dengan nama GameDisplay
Tulis kode berikut ini pada class GameDisplay:
package com.bahasajava.gamejava.gamedisplay;

import java.awt.Canvas;
import javax.swing.JFrame;

public class GameDisplay {
    
    private JFrame frame;//sebagai container komponen lainnya
    
    private int lebar, tinggi;//dalam ukuran piksel
    private String judul;
    
    //Constructor
    public GameDisplay(String judul, int lebar, int tinggi){
        this.judul = judul;
        this.lebar = lebar;
        this.tinggi = tinggi;
        
        buatGameDisplay();//Memanggil method buatGameDisplay()
    }
    
    private void buatGameDisplay(){
        frame = new JFrame(judul);//Mengatur judul
        frame.setSize(lebar, tinggi);//Mengatur ukuran lebar dan tinggi window
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//Agar window di close sempurna
        frame.setResizable(false);//Agar ukuran window tidak bisa di ubah
        frame.setLocationRelativeTo(null);//Agar window berada ditengah layar
        frame.setVisible(true);//Agar window terlihat saat ditampilkan
    }
}

Dan untuk sekedar mengujinya, tulis kode berikut pada class Main:

package com.bahasajava.gamejava;

import com.bahasajava.gamejava.gamedisplay.GameDisplay;


public class Main {
    //main method
    public static void main(String[] args) {
        new GameDisplay("My Java Game", 640, 360);//membuat objekGameDisplay dengan constructor
    }
    
}

Sekarang, jalankan programnya atau tekan shortcut F6. Semoga anda memperoleh hasil seperti gambar di bawah ini:



Jika sudah, anda sudah berhasil membuat frame window, maka selanjutnya anda akan menempatkan canvas pada window tersebut, sebagai tempat meletakkan gambar.

Ok, sampai di sini dulu ya, lebih baik tahap-demi tahap tutorialnya agar lebih mudah dipahami.

Baca juga:
Bagian I
Bagian III

Cara Menampilkan List File Dari Suatu Direktori Dengan Java

Halo gan, pada kesempatan kali ini akan dibahas cara untuk mengetahui list file dari suatu direktori. Untuk melakukan ini, anda bisa menggunakan method dari class File, yaitu:

public File[] listFiles()

Method ini akan mengembalikan array dari pathname abstrak yang menunjukkan file dalam direktori yang ditandai dengan pathname abstrak ini. Jika pathname abstrak ini tidak menunjukkan direktori, maka method ini akan mengembalikan null.


Menampilkan isi direktori dengan program Java

Sebenarnya apa itu pathname abstrak?

Jika anda membaca Java API kemudian pada bagian dokumentasi mengenai class File yang terdapat pada package java.io maka pada beberapa method-methodnya ada istilah pathname abstrak (abstract pathname). Ini akan membingungkan awalnya, tapi penting juga untuk diketahui sebenarnya.
Pathname abstrak adalah objek dari class java.io.File dan string pathname adalah objek java.lang.String. Keduanya mereferensikan file yang sama yang terdapat pada disk.

Contoh program menampilkan list file dari suatu direktori

Misalkan pada direktori C:\bahasajavacom\, terdapat file:
  • myfile.docx (Word)
  • myfile.txt (Text)
  • myfile.xlxs (Excel)
Maka untuk menampilkan file-file tersebut pada konsol:

package com.bahasajava.io;

import java.io.File;
import java.io.IOException;

public class MenampilkanFileDirektori {
    
    private static final String DIR = ("C:\\bahasajavacom");
    
    public static void main(String[] args) {
       
       File file = new File(DIR);
        
       File [] myFiles = file.listFiles();
       System.out.println("List file dari direktori " + DIR + " adalah:"); 
       //foreach loop
        for(File files : myFiles){
            try {
                System.out.println(files.getCanonicalPath());
            } catch (IOException ex) {
                ex.printStackTrace();
            }
        }
    }             
}

Output:
List file dari direktori C:\bahasajavacom adalah:
C:\bahasajavacom\myfile.docx
C:\bahasajavacom\myfile.txt
C:\bahasajavacom\myfile.xlsx

Demikianlah cara menamilkan isi direktori dengan mengguanakan program Java. Semoga contoh yang simpel ini bisa lebih mudah dipahami.

Inilah 26 Situs Tempat Belajar Pemrograman Interaktif Dari Nol Untuk Pemula

Situs Tempat Belajar Pemrograman Interaktif Dari Nol Untuk Pemula - Memiliki skill dalam pemrograman merupakan  aspek terpenting dalam membangun situs web apa pun. Para desainer dan juga web developer perlu belajar memprogram dan membuat kode ketika mempelajari pemrograman untuk membangun situs web. Selain belajar reguler, banyak juga situs web interaktif tertentu yang tersedia di internet.  Ini tentunya akan membantu anda  untuk belajar dan memperoleh lebih banyak informasi dan pengetahuan di luar penddikan reguler Anda.

tempat belajar pemrograman interaktif dari nol untuk pemula


Sebagai orang yang memiliki tekad kuat untuk belajar, maka anda dianjurkan untuk mengunjungi situs web tersebut. Tentunya jika anda tertarik ingin mempelajari lebih lanjut tentang bahasa pemrograman. Artikel ini akan memberi anda mengenai beberapa informasi dasar dari situs-situs web interaktif yang diharapkan bisa menolong anda untuk terus mengasah kemampuan yang ada pada pemrograman. Melalui situs ini, anda juga dapat memilih jenis banyak bahasa pemrograman terbaik yang anda butuhkan dan lebih banyak lagi ilmu untuk anda.

Daftar Situs Terbaik Untuk Belajar Pemrograman Secara Interaktif

Berikut ini adalah daftarnya:

1. Codecademy

Apakah anda merasa antusias ketika belajar koding untuk pemrograman? Maka Codecademy adalah yang terbaik yang dapat anda pilih. Situs web ini ditampilkan sebagai salah satu dari 50 situs teratas di Time pada tahun 2013. Dengan sesi pembelajaran yang interaktif memang dapat membuat siapa pun tertarik belajar bahasa pemrograman selama mereka merasa memiliki kemauan.

2. CodeCombat

Ingin bermain game sambil belajar koding? Disinilah tempatnya. CodeCombat adalah salah satu situs web  tempat para anda dapat belajar koding. Hal yang menjadi daya tarik tersendiri adalah anda tetap belajar pemrograman sambil memainkan game strategi mutiplayer.

Anda dapat bersenang-senang dan pada saat yang sama belajar coding dengan berbagai bahasa pemrograman seperti Python dan JavaScript dari situs web interaktif ini. Tujuan utama dari pendiri situs ini adalah untuk membuat pengguna senang saat belajar, dengan demikian pengetahuan yang diperoleh menjadi lebih maksimal karena mereka menikmatinya.

3. TeamTreehouse

Apakah anda saat ini sedang belajar mengenai desain web? Maka TeamTreehouse bisa menjadi pilihan yang baik. Anda dapat memelajari desain dan pengembangan web melalui situs web interaktif ini. Situs ini juga memiliki tutorial video untuk para siswanya dan fokus untuk membantu mereka belajar tentang HTML dan Ruby. Selanjutnya anda dapat menonton video-video dan mempeljarinya. Kemudian secara bertahap anda dapat mengikuti latihan untuk menguji pengetahuan dan mengukur sejauh mana anda telah belajar dari sesi tersebut.

4. CodePad

CodePad adalah compiler/interpreter online. Ya, di sini anda dapat memelajari dan menjalankan berbagai bahasa pemrograman. Diantaranya adalah:
  • C
  • C++
  • D
  • Haskell
  • Lua
  • OCaml
  • PHP
  • Perl
  • Plain Text
  • Python
  • Ruby
  • Scheme
  • Tcl

5. CodingBat

Tertarik untuk mempelajari Java atau Python? Disinilah tempatnya. CodingBat ini ibarat taman bermain untuk pengujian kode secara online dengan banyak tutorial yang bermanfaat. Selain itu, juga terdapat video untuk mempelajari kode bahasa pemrograman Java dan Python. Situs gratis ini dapat anda jadikan referensi untuk mengembangkan skill pemrograman. Di situ anda dapat mengetikkan kode secara online melalui editor teks kemudian tinggal klik Run untuk mengkompilasi kode secara online.

6. Repl.it

Repl.it  menyediakan lingkungan online untuk mempelajari berbagai bahasa pemrograman dan juga memiliki editor kode online. Selain itu, situs ini memiliki mesin penerjemah yang ditulis dalam bahasa Java Script untuk lebih dari 15 bahasa pemrograman dan interpreter yang berjalan di komputer pengguna.

7. Ideone

Ideone merupakan alat untuk debugging dan juga compiler online yang dapat melakukan kompilasi serta mengeksekusi secara online untuk lebih dari 60 bahasa pemrograman. Beberapa bahasa pemrograman itu seperti Java, C #, C, Pascal, dan sebagainya. Di situs ini, anda perlu memilih bahasa pemrograman lalu mengetikkan kode pada editor teks. Untuk menjalankan program, anda tinggal menekan tombol Run. Mudah bukan?.

8. Codeschool

Codeschool akan mengajarkan berbagai teknologi web di browser web melalui gips layar, juga terdapat tantangan pengkodean dan pelajaran video untuk bahasa pemrograman dengan komunitas besar seperti Java Script, Ruby, HTML / CSS dan C.

9. WiBit.Net

WiBit.Net merupakan website tutorial berupa video yang menyediakan kursus pemrograman komputer secara gratis dalam bahasa pemrograman seperti C ++, C dan Obj-C dan juga Java. Yang menarik di sini adalah  tutorial tersebut menyediakan sumber daya untuk belajar bahasa pemrograman dengan cepat.

10. RailsForZombies.org

Bagi anda yang sedang belajar pemrograman Ruby, RailsForZombies.org ini bisa menjadi tempat belajar yang juga bisa anda pilih. Setelah update dilakukan pada situs ini  maka memungkinkan para pelajar untuk mempelajari Ruby on Rails secara langsung di browser tanpa pengaturan tambahan. Website interaktif ini juga memastikaan kesenangan dalam metode belajar karena tidak perlu khawatir tentang masalah konfigurasi. Disamping itu terdapat juga berbagai video tutorial dengan latihan sebagai sumber daya yang bagus untuk belajar.

11. CodeLearn

CodeLearn  menjadikan proses belajar Ruby on Rails dengan mudah. Yaitu dengan membuat aplikasi langsung di browser. Situs  ini menawarkan server virtual yang bebas dari kerumitan bersama dengan tutorial-tutorial luar biasa yang memudahkan untuk pembelajaran Rails. Pengguna tidak memerlukan profesional yang berpengalaman untuk menggunakan tutorial ini.

12. LearnPython

LearnPython merupakan tempat tutorial belajar Python interaktif secara gratis. Tutorial Python ini dikembangkan untuk menawarkan pola belajar interaktif kepada para orang yang ingin belajar pemrograman Python. Tutorial-tutoriaal ini berisi materi kursus dasar dan awal sehingga mampu untuk memfasilitasi pemula dan profesional yang berpengalaman dalam teknik pemrograman Python.

13. Pyschools

Pyschools merupakan website yang memiliki banyak sekali tutorial dasar Python dan juga latihan-latihan secara interaktif dengan tujuan untuk melatih keterampilan pemrograman Python anda.

14. Python Anywhere

Seasua dengan namanya, Python Anywhere  menyediakan lingkungan berbasis cloud bagi para pengembang Python untuk mengembangkan dan menyebarkan aplikasi Python melalui teknologi cloud.

15. Trypython.jcubic

Trypython.jcubic adalah interpreter online interaktif untuk bahasa program Python, dengan AJAX  dan menggunakan plug-in yang disebut JQuery Terminal Emulator. Seperti Java, Python juga merupakan bahasa pemrograman berorientasi objek yang dapat anda coba langsung melalui browser web.

16. Trypython.org

Trypython.org adalah interpreter interaktif untuk bahasa pemrograman Python langsung pada browser web. Di sini juga tersedia tutorial online untuk Python programming secara interaktif yang dapat anda jalankan di jendela browser.

17. Learn-C.org

Learn-C.org berisi tutorial pembelajaran C interaktif dan gratis untuk orang-orang yang ingin belajar pemrograman C. Website ini menawarkan pembelajaran untuk tingkat pemula dan lanjut mengenai pemrograman C. Dengan demikian terlepas apakah mereka pemula atau profesional tetap dapat belajar di sini. Di samping itu, belajar melalui situs web ini tidak akan membutuhkan apa pun untuk diunduh.

18. LearnJavaOnline

LearnJavaOnline adalah situs tutorial belajar Java interaktif gratis untuk semua kalangan. Tidak masalah apakah anda seorang profesional atau pemula di pemrograman Java. Tujuan dari dari situs web ini adalah untuk menawarkan pembelajaran kepada semua orang yang ingin belajar Java. Tutorial pada situs ini berisi tutorial tingkat dasar dan lanjutan. Jika anda memutuskan untuk belajar Java mungkin ada ingin mengetahui alasan lainnya kenapa mempelajari Java.

19. Try.jQuery

jQuery adalah salah satu kerangka kerja Javascript yang paling populer. Try.jQuery adalah situs web interaktif yang berisi kumpulan video, tantangan interaktif yang tersedia dalam bentuk konsol dan juga memungkinkan anda untuk mempraktikkan kode di browser anda sendiri. Anda hanya memerlukan waktu 3 jam untuk menyelesaikan seluruh aktivitas. Situs web saat ini menggunakan jQuery 2.0 untuk fungsinya.

20. SQLZoo

SQLZoo merupakan situs web yang menawarkan tutorial secara langkah demi langkah dengan penerjemah langsung. Anda dapat belajar SQL Server, Oracle, MySQL, DB2, dan PostgreSQL melalui pembelajaran interaktif ini. Website ini juga  berisi berbagai macam materi tutorial yang dirancang untuk pemula dan para profesional tingkat lanjut.

21. Try.Github.io

Try.Github.io memungkinkan Anda belajar Git dalam 15 menit. Situs interaktif ini memiliki jendela untuk memasukkan kode yang disematkan di peramban itu sendiri. Dengan demikian memungkinkan para pembelajar dan pengguna untuk mencoba kode mereka secara langsung di Octobox dan melihat hasilnya.

22. Coder Byte

Coder byte berisi tantangan pemrograman danjuga  kompetisi website. Situs ini juga menyediakan  forum diskusi program terkait untuk meminta solusi mengenai masalah pemrograman.

23. C++ Interactive Exercises

C++ Interactive Exercises berisi latihan-latihan yang memberikan pengantar bahasa Pemrograman C ++ beserta dengan contoh programnya. Dikarenakan ini berbasis web maka anda dapat menjalankan program dengan mengklik tombol "Start Exercise" di situs web itu sendiri.

24. CSS3 Please

CSS3 Please adalah alat berbasis web online  yang menghasilkan aturan lintas browser untuk bahasa CSS. Setiap kali anda membuat perubahan dalam aturan di sisi kiri halaman web, maka ada perubahan yang terjadi secara otomatis dalam elemen.

25. W3Schools

W3Schools adalah situs web informasi untuk pengembang web dan berisi berbagai referensi serta tutorial untuk CSS, HTML, JQuery, PHP, Java Script, dan SQL. Website ini mendapatkan namanya dari World Wide Web dan memiliki alat editor online.

26. Golang

Golang adalah situs tempat mempelajari bahasa Pemrograman Go. Anda dapat menulis kode  di editor kode online dan menjalankan program secara online. Anda juga dapat mengunduh kompiler Go dari situs ini.

Itulah beberapa situs tempat belajar pemrograman interaktif dari nol untuk pemula. Semoga bisa membantu anda yang sedang belajar koding.

Menambahkan Konten File Dengan FileWriter

java.io.FileWriter merupakan class yang memberikan kenyamanan dan membuat menjadi mungkin untuk menulis karakter pada suatu file.

FileWriter ini bekerja seperti FileOutputStream. Tapi perbedaannya adalah FileOutputStream berbasis byte, sedangkan FileWriter berbasis karakter. Secara sederhananya FileWriter ini dimaksudkan untuk menulis teks. Satu karakter mungkin saja sesuai dengan satu byte atau bisa lebih, tergantung pada skema pengkodean dari karakter yang digunakan.


Menambahkan Konten File Dengan FileWriter


Pada beberapa platform, khususnya, memungkinkan file dibuka untuk ditulis oleh hanya satu FileWriter (atau objek penulisan file lainnya) pada satu waktu. Dalam situasi tersebut, konstruktor di kelas ini akan gagal jika file yang terlibat sudah terbuka.

Menambahkan Konten (Append) VS Overwrite File

Ketika anda membuat objek FileWriter, anda dapat memutuskan apakah anda ingin meng-overwrite (menimpa) file yang ada dengan nama yang sama, atau apakah anda ingin menambahkan (append) ke file yang sudah ada. Anda memutuskan hal ini dengan cara memilih konstruktor FileWriter yang digunakan.

Konstruktor FileWriter berikut ini hanya mengambil satu parameter, nama file, dan akan menimpa file yang ada:

FileWriter(File file)

Sedangkan untuk menambahkan konten pada file yang sudah ada tanpa menimpanya anda dapat menggunakan konstruktor:

FileWriter(File file, boolean append)

Contoh:

Sebuah file dengan nama myfile.txt terdapat di path C:\\bahasajavacom\\.

Isi dari file tersebut seperti ini:




Kemudian file tersebut akan ditambahkan konten, dengan program seperti di bawah ini:

package com.bahasajava.io;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class MenambahkanKontenFile {
    
    private static final String NAMA_FILE = 
            "C:\\bahasajavacom\\myfile.txt";
    
    public static void main(String[] args) {
        
            BufferedWriter bufferedWriter = null;
            FileWriter fileWriter = null;
            MenambahkanKontenFile.membacaFile();
            
        try {    
            String kontenFile = ":Belajar Bahasa Pemrograman Java Itu Menyenangkan!";
            
            File file = new File(NAMA_FILE);
            
            //Jika file tidak ada, maka file akan dibuat
            if(!file.exists()){
                file.createNewFile();
            }else{
                 System.out.println("File telah ada sebelumnya dan "
                         + "kontennya akan ditambah");
                 
            }
               
            //Contructor FileWriter yang akan menambahkan konnten file
            fileWriter = new FileWriter(file.getAbsoluteFile(), true);
            bufferedWriter = new BufferedWriter(fileWriter);
            
            bufferedWriter.write(kontenFile);
            System.out.println("Konten telah selesai ditambahkan");
        } catch (IOException ex) {
            ex.printStackTrace();
            
        }finally{
            try{
                if(bufferedWriter != null){
                    bufferedWriter.close();
                }
                if(fileWriter != null){
                    fileWriter.close();
                }
                
                MenambahkanKontenFile.membacaFile();
                
            }catch (IOException ex){
                ex.printStackTrace();
            }  
        }
    }
    
    
    //Method untuk membaca file
    static void membacaFile(){
        System.out.println("Sekarang konten myfile.txt adalah: ");
        try {
             
            BufferedReader bufferedReader = 
                    new BufferedReader(new FileReader(NAMA_FILE));
             
            String baris;
            //Ketika baris tidak null maka baris tersebut akan dicetak
            
            while((baris = bufferedReader.readLine()) != null){
                System.out.println(baris);
            }
            bufferedReader.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

Output:

Sekarang konten myfile.txt adalah:
abcde
fghij
klmno
pqrst
uvwxy
z
File telah ada sebelumnya dan kontennya akan ditambah
Konten telah selesai ditambahkan
Sekarang konten myfile.txt adalah:
abcde
fghij
klmno
pqrst
uvwxy
z:Belajar Bahasa Pemrograman Java Itu Menyenangkan!

Hasil setelah konten file ditambahkan