Thursday, January 31, 2019

5 Keuntungan Belajar Pemrograman Secara Online

5 Keuntungan Belajar Pemrograman Secara Online - CodePolitan.com

Saat ini teknologi sangat membantu dalam setiap pergerakan manusia. Kemajuan dalam dunia internet membuat kehidupan semakin mudah dan seakan-akan tanpa jarak. Begitupun dengan aktivitas manusia tak jauh dari hal yang dilaksanakan secara online, sebut saja online banking, online shop, meeting online, termasuk kegiatan belajar pemrograman pun bisa secara online.

Sebagian orang lebih memilih untuk belajar pemrograman secara online dibandingkan offline. Hal ini karena belajar online memiliki beberapa keuntungan yang tidak didapatkan dari kegiatan belajar pemrograman offline. Beberapa keuntungan inilah yang akan pertimbangan Anda untuk memilih mengikuti kegiatan belajar pemrograman online.
Berikut adalah 5 keuntungan belajar pemrograman secara online:

1. Waktu dan Tempat yang fleksibel


Dalam kegiatan belajar pemrograman online, kita dapat menyesuaikan kapan dan dimana Anda akan melakukan belajar pemrograman online. Kita bisa melakukannya di kamar, di ruang makan, bahkan bisa sambil ngopi di caffe. Belajar online hanya memerlukan waktu dan tempat agar dapat melakukannya.

Kegiatan belajar online sangat cocok untuk seseorang yang sibuk karena sudah memiliki kegiatan lain misalnya yang sudah bekerja atau pelajar yang masih sekolah. Hal ini karena kegiatan belajar pemrograman online dapat dilaksanakan dimanapun dan kapanpun, maka memungkinkan Anda untuk belajar kapan saja saat memiliki waktu luang yang dapat dipakai. Perlu diingat kegiatan belajar pemrograman ini jangan dipakai untuk menggantikan waktu istirahat Anda. Karena istirahat pun itu sangat penting untuk dilakukan.

2. Biaya yang digunakan lebih sedikit


Selain waktu dan tempat yang digunakan fleksibel, keuntungan lainnya yaitu biaya yang digunakan lebih sedikit. Jika dalam mengikuti pelatihan pemrograman ataupun kursus offline Anda perlu mengeluarkan banyak biaya, seperti biaya pendaftaran, biaya ongkos, bahkan jika pelatihan tersebut diluar kota, kita harus mengeluarkan biaya untuk penginapan dan sebagainya.

Untuk kegiatan pembelajaran online Anda hanya akan mengeluarkan biaya jauh lebih sedikit jika dibandingkan dengan mengikuti pelatihan ataupun mengikuti kursus offline. Mungkin saja biaya yang dikeluarkan hanya untuk kuota dikarenakan mengikuti pembelajaran harus memiliki koneksi internet, ataupun biaya untuk membeli modul yang tentunya materi yang tersedia adalah materi terstruktur yang akan menunjang kegiatan belajar pemrograman Anda dimulai dari dasar sampai Anda benar benar ahli dalam pemrograman.

3. Dapat disesuaikan dengan kemampuanmu


Jangan khawatir jika belajar pemrograman secara online. Karena materi yang tersedia dapat disesuaikan dengan kemauanmu. Jika Anda baru saja menggeluti dunia pemrograman atau biasa disebut pemula, Anda bisa memilih belajar dari dasar pemrograman. Tentu selain menghemat waktu, Anda pun bisa menghemat biaya karena materi yang dipelajari langsung sesuai dengan kemampuan dan bakat Anda.

Anda tidak perlu khawatir untuk materi yang anda cari, Anda dapat menemukannya di website Codepolitan. Materi yang tersedia tentu sangat lengkap. selain itu, ada pula forum tanya jawab dan belajar menggunakan studi kasus. Untuk forum tanya jawab, Anda jadi tidak perlu khawatir jika anda tidak mengerit dnegan materi yang disampaikan, Anda dapat menanyakan materi tersebut di forum tanya jawab dan tim Codepolitan akan siap menjawab pertanyaan tersebut.

Baca juga: Tips Belajar Pemrograman Secara Otodidak
Baca Juga: Cara Enjoy Memulai Belajar Pemrograman

4. Tidak ada batasan


Dalam kegiatan belajar pemrograman offline, waktu adalah salah satu masalah yang harus dihadapi peserta dan instruktur dalam belajar. Pada pembelajaran tatap muka, lokasi membatasi beberapa peserta untuk hadir berpartisipasi orang-orang untuk hadir pada waktu tertentu. Hal ini pun dapat berpengaruh pada biaya yang dikeluarkan oleh Anda.

Pada kegiatan belajar pemrograman online, pembelajaran dapat dilukan kapanpun, dimanapun tanpa adanya batasan dimana setiap orang yang tertarik dapat hadir pada kegiatan pembelajaran online tersebut. Tentu kegiatan belajar pemrograman secara online ini sangat memudahkan setiap orang yang ingin mengikuti belajar pemrograman tetapi terkendala dalam hal lokasi, biaya dan waktu.

5. Materi terstruktur


Pada kegiatan belajar pemrograman online, kelengkapan materi juga menjadi suatu keuntungan yang diapatkan. Coba saja lihat di Codepolitan, pada web tersebut terdapat materi-materi untuk belajar pemrograman secara tersusun dan lengkap. Materi terstruktur dapat membantu agar seseorang tidak kebingungan disaat melakukan belajar pemrograman secara online.

Bayangkan saja, jika materi yang Anda pelajari tidak lengkap. Apa yang Anda rasakan? Tentu saja merasa kebingungan bukan? Nah, web Codepolitan menyediakan media pembelajaran online untuk Anda agar Anda tidak merasa kebingungan dalam melakukan kegiatan belajar pemrograman.

Ayo daftar belajar online di Codepolitan : (https://www.codepolitan.com/learn)
Materi-materi di Codepolitan meliputi:

  1. Mengenal Pemrograman Komputer
  2. Belajar Dasar-dasar HTML dan CSS
  3. Menjadi Web Programmer
  4. Belajar Pemrograman PHP
Sumber Referensi:
https://www.ernawatililys.com/2015/11/7-kelebihan-dan-kekurangan-belajar.html
https://www.studilmu.com/blogs/details/keuntungan-kekurangan-dari-belajar-online
https://www.quipper.com/id/blog/tips-trick/bimbel-guide/informasi-penting-dan-keuntungan-belajar-online/


CODEPOLITAN

[Update: April 2nd] Google+ is shutting down for consumers after potential major data breach

[Update: April 2nd] Google+ is shutting down for consumers after potential major data breach


Update 2: 1/30/19: Google has finally given a solid end date for their social media service. It will shut down for consumers on April 2nd. Some features will begin shutting down next month. More info below.
Update 1: 12/10/18: After another data leak, Google is shutting down the service four months early in April. The new API bug (which was fixed within a week) impacted 52.5 million users, who could have had personal profile information exposed to developers.

Google+ was introduced in 2011 as the tech giant’s response to the rising social network phenomenon and as a rival to Facebook, Twitter, and other social networks. Unfortunately, though, it failed to gain traction despite Google’s unmeasurable efforts and backing to bring it up and boost its adoption. Today, after over 7 years of existence, Google is shutting down Google+ for good–although its low user base surprisingly wasn’t the main factor behind this decision.

Today, Google posted information about Project Strobe on their blog. Project Strobe isn’t a piece of hardware or a service/product, but simply an effort to review and further strengthen privacy and security across all of their products, including their third-party APIs, services, Android, and more. One of the findings that stemmed from Project Strobe was that the consumer version of Google+ was no longer worth maintaining.

The detonating factor behind its demise? A bug in their Google+ People APIs, which potentially exposed the data of over 500.000 users and was promptly patched in March 2018. This, combined with the community’s extremely low user base—90% of Google+ sessions are under 5 seconds–were enough for Google to be done with it for good.

This wind-down isn’t becoming effective immediately. Instead, in order to give people a full opportunity for transitioning, the social network will be shut down over the course of 10 months. The process is slated for completion by August 2019. Google does not have a replacement for Google+ in mind, at least for now. While the consumer version will be closed down, the social network itself will be tilted towards enterprises rather than just consumers, just like they’re doing with Hangouts.

I was never an active user of Google+, but it will be interesting to see where Google will be heading with this. The company will be providing further information on the network’s future as well as steps to be taken by Google+ users in the next few months. As of now, though, we’d recommend checking out the full Project Strobe blog post to see more information about this decision.

Update 2: The End is Near

In a support page, Google has outlined the timeline for shutting down Google+. Creating new pages and profiles will no longer be possible as early as February 4th. Community owners can begin downloading data in March. Sign-in buttons will be replaced with Google sign-in buttons in the coming weeks. Comments on other websites, such as Blogger, will be removed by March 7th. On April 2nd, accounts and pages will be shut down and content deleted. G Suite users will be unaffected.

SOURCE

Tuesday, January 29, 2019

Gmail for Android is getting a Material Theme redesign

Gmail for Android is getting a Material Theme redesign

Following the whitewashing Material Theme-ifying of Gmail for the Web, Google will be applying the same design scheme to its Gmail mobile apps. In addition to going overboard with the buckets of white paint, the new Gmail app will make it easier to view attached photos without having to scroll through the conversation. It’ll also be easier to switch between work and personal accounts in the mobile apps, and warnings of suspicious emails will be more glaring. Google’s blog post said the following about the facelift:
As part of the new design, you can quickly view attachments—like photos—without opening or scrolling through the conversation. It’s also easier to switch between personal and work accounts, so you can access all of your emails without breaking a sweat. And just like on the web, you’ll get big, red warnings to alert you when something looks phish-y.
The gallery of screenshots from Google’s blog below shows what the new design will look like.
Material Theme, for the uninitiated, is a giant bottle of White-Out correction fluid the successor to Material Design and will find its way to the iOS and Android versions of the Gmail app “in the coming weeks.” Google also said more G Suite apps would get this same facelift “later this year.” Hopefully, Google will also continue its trend of offering dark themes to its apps along with these Material Theme makeovers. Perhaps Google will even preserve the system-wide dark mode this time in the final Android Q release since the company finally acknowledged that dark modes are more battery-friendly for phones with AMOLED screens.

Source: Google
Gmail for Android is getting a Material Theme redesign

Belajar Membuat Aplikasi Android dengan Kotlin Untuk Pemula Bagian 4 : CRUD dengan Firebase Real-Time Database (Part 1 Insert Data)

  Belajar Membuat Aplikasi Android dengan Kotlin Untuk Pemula Bagian 4 : CRUD dengan Firebase Real-Time Database (Part 1 Insert Data) - CodePolitan.com

Beberapa waktu yang lalu di Codepolitan, kita telah membahas Belajar Membuat Aplikasi Android dengan Kotlin Untuk Pemula Bagian 3 : Login dengan Autentikasi Firebase. Kali ini kita akan melanjutkan seri Android Kotlin kita dengan membuat CRUD (Create,Read,Update,Delete) menggunakan Firebase Real-Time Database. Firebase Realtime Database adalah database yang di-host di cloud. Data disimpan sebagai JSON dan disinkronkan secara realtime ke setiap klien yang terhubung. Ketika Anda membuat aplikasi lintas-platform dengan SDK Android, iOS, dan JavaScript, semua klien akan berbagi sebuah instance Realtime Database dan menerima update data terbaru secara otomatis.

Bagaimana cara kerjanya?

Firebase Realtime Database memungkinkan Anda untuk membuat aplikasi kolaboratif dan kaya fitur dengan menyediakan akses yang aman ke database, langsung dari kode sisi klien. Data disimpan di drive lokal. Bahkan saat offline sekalipun, peristiwa realtime terus berlangsung, sehingga pengguna akhir akan merasakan pengalaman yang responsif. Ketika koneksi perangkat pulih kembali, Realtime Database akan menyinkronkan perubahan data lokal dengan update jarak jauh yang terjadi selama klien offline, sehingga setiap perbedaan akan otomatis digabungkan.

Realtime Database menyediakan bahasa aturan berbasis ekspresi yang fleksibel, atau disebut juga Aturan Keamanan Firebase Realtime Database, untuk menentukan metode strukturisasi data dan kapan data dapat dibaca atau ditulis. Ketika diintegrasikan dengan Firebase Authentication, developer dapat menentukan siapa yang memiliki akses ke data tertentu dan bagaimana mereka dapat mengaksesnya.
Realtime Database adalah database NoSQL, sehingga memiliki pengoptimalan dan fungsionalitas yang berbeda dengan database terkait.  
API Realtime Database dirancang agar hanya mengizinkan operasi yang dapat dijalankan dengan cepat. Hal ini memungkinkan Anda untuk membangun pengalaman realtime yang luar biasa dan dapat melayani jutaan pengguna tanpa mengorbankan kemampuan respons. Oleh karena itu, perlu dipikirkan bagaimana pengguna mengakses data, kemudian buat struktur data sesuai dengan kebutuhan tersebut.
Oke langsung saja kita mulai membuat CRUD nya langsung aja kita ke langkah yang pertama yaitu:

1. Buatlah project baru

Buatlah sebuah project baru, kemudian desain halaman MainActivity sebagai berikut.

desain tampilan

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".MainActivity">

    <android.support.design.widget.TextInputLayout
            android:layout_width="300dp"
            android:layout_height="wrap_content"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            android:layout_marginTop="8dp"
            app:layout_constraintBottom_toBottomOf="parent"
            android:layout_marginBottom="199dp" style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox">

        <android.support.design.widget.TextInputEditText
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="Nama"
                android:id="@+id/inputNama"
                android:inputType="text"/>
    </android.support.design.widget.TextInputLayout>
    <android.support.design.widget.TextInputLayout
            android:layout_width="300dp"
            android:layout_height="wrap_content"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintBottom_toBottomOf="parent"
            style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox" android:id="@+id/textInputLayout">

        <android.support.design.widget.TextInputEditText
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="Status"
                android:id="@+id/inputStatus"
                android:inputType="text"/>
    </android.support.design.widget.TextInputLayout>
    <Button
            android:text="Save"
            android:layout_width="250dp"
            android:layout_height="60dp"
            app:layout_constraintStart_toStartOf="parent" 
            app:layout_constraintEnd_toEndOf="parent"
            android:id="@+id/btnSave"
            android:layout_marginBottom="8dp"
            app:layout_constraintBottom_toBottomOf="parent"
            android:layout_marginTop="8dp" 
            app:layout_constraintTop_toBottomOf="@+id/textInputLayout"
            app:layout_constraintVertical_bias="0.32"/>
</android.support.constraint.ConstraintLayout>

kita memiliki 2 EditText dan 1 Button nah berikan ID pada EditText dan Button kita disini saya memberikan nama inputNama dan inputStatus untuk EditText kita dan untuk Button nya saya berinama btnSave.Setelah selesai mendesain tampilan MainActivity kita sekarang kita ke tahap ke dua yaitu:

2. Hubungkan Project Ke Firebase Real-Time Database

connect firebase

Kali ini saya anggap kalian sudah mengerti cara menghubungkan Project ke Firebase karena di Artikel sebelumnya kali ini hanya saja kita akan menggunakan Firebase Real-Time Database bukan Firebase Authentication.Oke jika sudah terhubung kita lanjut ke tahap selanjutnya yaitu :

3. Meyimpan data ke Dalam Databse

Oke sekarang kita akan masuk ke bagian Codingnya yaitu memasukan data kedalam Database.
Pertama kita Deklarasikan dulu Firebase Database pada MainActivity kita
lateinit var ref : DatabaseReference
Lalu tambahkan kedalam method onCreate
ref = FirebaseDatabase.getInstance().getReference("USERS")
override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        ref = FirebaseDatabase.getInstance().getReference("USERS")
    }

Kemudian kita buat function pada btnSaveOnClickListener kedalam method onCreate.

btnSave.setOnClickListener {
            savedata()
        }
menjadi:
override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        ref = FirebaseDatabase.getInstance().getReference("USERS")

        btnSave.setOnClickListener {
            savedata()
        }
    }
    private fun savedata() {

    }
Setelah itu buatlah sebuah kelas Kotlin baru dan beri nama Users.

Create class

Setelah itu kita masuk kedalam kelas yang baru dibuat dan kita tulis kode dalam kelas tersebut keseluruhannya menjadi seperti ini:
class Users (var nama : String, var status: String) {

    constructor() : this("", "") {

    }
}

Setelah itu kita kembali lagi pada MainActivity dan dan masukan kode berikut kedalam private fun savedata()
val nama = inputNama.text.toString()
        val status = inputStatus.text.toString()

        val user = Users(nama,status)
        val userId = ref.push().key.toString()

        ref.child(userId).setValue(user).addOnCompleteListener {
            Toast.makeText(this, "Successs",Toast.LENGTH_SHORT).show()
            inputNama.setText("")
            inputStatus.setText("")
        }

Kurang lebih kode kita akan terlihat seperti ini keseluruhannya:
class MainActivity : AppCompatActivity() {

    lateinit var ref : DatabaseReference

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        ref = FirebaseDatabase.getInstance().getReference("USERS")

        btnSave.setOnClickListener {
            savedata()
        }
    }

    private fun savedata() {
        val nama = inputNama.text.toString()
        val status = inputStatus.text.toString()

        val user = Users(nama,status)
        val userId = ref.push().key.toString()

        ref.child(userId).setValue(user).addOnCompleteListener {
            Toast.makeText(this, "Successs",Toast.LENGTH_SHORT).show()
            inputNama.setText("")
            inputStatus.setText("")
        }
    }
}

Sekarang Aplikasi kita siap untuk di jalankan berarti sekarang kalian buka Firebase pada Browser kalian kemudian pilih project yang tadi kalian buat dan pilih Database dan pilih Realtime Database

firebase database

Kemudian Jalankan aplikasi anda kemudian input data dan save lalu data tersebut akan masuk ke Database

data

Penutup

Demikian tutorial CRUD menggunakan Firebase kali ini. Selanjutnya kita akan melanjutkan CRUD untuk membaca/menampilkan data dengan Firebase Realtime Database. Semoga bisa dipahami oleh pembaca sekalian. 

SOURCE

Perbedaan Testing Dalam Pembuatan Aplikasi

Perbedaan Testing Dalam Pembuatan Aplikasi - CodePolitan.com

Dalam proses pembuatan sebuah aplikasi, perlu dilakukan sebuah tahapan yang bernama software testing. Tahapan ini penting dilakukan untuk menguji kualitas fitur, keamanan dan kinerja dari aplikasi tersebut. 

Pada umumnya developer masih suka menyepelekan testing karena memang cukup memakan waktu di awal proses development. Seiring berjalannya waktu, aplikasi yang dibangun pun akan semakin besar dan logika yang diimplementasikan juga semakin banyak. Pada titik tersebut, tingkat confidence akan semakin rendah jika ingin menambahkan fitur baru. Menjaga fitur lama tetap berjalan semestinya dan performa yang tetap baik menjadi masalah yang sulit untuk dipertahankan. Software testing merupakan salah satu engineering practices yang dapat menjadi solusi untuk permasalahan tersebut. Software testing juga dapat membuat aplikasi menjadi lebih predictable dan traceable. Dalam pengaplikasiannya software testing terbagi menjadi beberapa tingkatan. Secara garis besar berikut adalah tingkatan yang pada umumnya diimplementasi oleh perusahaan-perusahaan IT.

Unit testing


Unit testing merupakan proses pengujian pada bagian terkecil dari aplikasi, biasanya pada pengujian dilakukan pada sebuah function ataupun object. Pengujian yang dilakukan biasanya cukup ketat mencakup semua kemungkinan yang dapat terjadi pada bagian yang diuji mencakup base case, edge case hingga corner case. Pada tahap ini tidak ada aplikasi atau service lain diluar aplikasi tersebut yang dipanggil, seperti mengakses database ataupun file. Untuk mengakomodir hal tersebut diperlukan mock data atau object tiruan.

Integration testing


Tahapan berikutnya setelah unit test adalah menguji unit-unit tersebut bekerja dalam satu kesatuan. Pengujian dilakukan untuk melihat sebuah aplikasi dapat terkoneksi dan berfungsi dengan aplikasi yang lain sesuai yang diharapkan. Jika aplikasi tersebut memerlukan aplikasi lain seperti database atau 3rd party service, maka koneksi antar aplikasi tersebut harus benar-benar dilakukan, bukan lagi dari mock data. Pengujian yang dilakukan pada tahap ini tidak boleh terlalu detail, karena tujuan dari test ini bukanlah menguji ketepatan dari sebuah aplikasi. Hal lain yang harus diperhatikan adalah data yang digunakan. Sebisa mungkin data yang digunakan hanya digunakan untuk pengujian aplikasi tersebut (tidak digunakan oleh aplikasi yang lain).

Functional testing


Functional test berfokus pada business requirement-nya. Pada bagian ini hanya dicek keluaran dari flow yang dilakukan dan tidak mengecek state yang berjalan ditengah-tengahnya.

Ada sedikit perbedaan antara integration testing dan functional testing, meskipun keduanya sama-sama menggunakan lebih dari satu komponen yang berinteraksi. Perbedaannya adalah integration test memiliki test yang lebih sederhana, seperti misalnya mengecek query dari database yang dijalankan dari aplikasi yang outputnya mendapatkan spesifik id dari tes yang diuji.

End-to-end testing


End-to-end testing adalah testing yang menyamakan user behaviour dengan aplikasi dengan environment yang sama seperti production. Memastikan berbagai macam user flow berjalan dengan semestinya. Seperti misalnya menguji hal yang sederhana seperti loading screen, menyimpan data ataupun hal yang lebih kompleks lainnya seperti dari login berlanjut sampai selesai transaksi.

End-to-end testing sangat bermanfaat, namun sangat costly. Mengimplementasikannya cukup sulit dan sangat berat untuk di-maintain apalagi jika sudah automated. Sangat direkomendasikan untuk memiliki sedikit tes pada bagian ini dan lebih berfokus pada lower-level testing (unit &amp; integration tests). Karena pada bagian yang lebih rendah lebih mudah untuk diidentifikasi dan di trace back.

Acceptance testing


Pengujian terakhir adalah dimana pengujian dilakukan secara keseluruhan atau biasa disebut end-to-end testing. Pengujian ini lebih difokuskan pada flow atau behaviour sebuah aplikasi. Pengujian bisa dilakukan dengan cara melakukan simulasi nyata penggunaan aplikasi pada environment yang sebenarnya. Hal yang diuji juga sangat general seperti melakukan normal flow ataupun masukan kosong. Ini adalah tahapan terakhir sebelum akhirnya aplikasi benar-benar siap untuk dirilis.

Performance testing


Performance testing digunakan untuk mengukur kemampuan performa suatu aplikasi sampai suatu batas tertentu. Tes ini bukan merupakan functional-test dan bisa dalam berbagai macam bentuk untuk memahami reliability, stability dan availability pada environment-nya. Sebagai contoh, bisa berupa mengamati response time ketika menjalankan request dalam jumlah yang sangat banyak ataupun melihat suatu sistem berinteraksi dengan jumlah data yang cukup besar.

Pada umumnya performance testing cukup mahal untuk diaplikasikan dan dijalankan, namun dapat dijadikan tolak ukur apakah sistem tersebut dapat mengakomodasi traffic yang ada.

Smoke testing


Smoke testing dapat diartikan seperti pre-testing. Tes ini harus berjalan dengan sederhana dan cepat. Tujuannya adalah untuk memastikan tes-tes kompleks lain yang akan dijalankan berikutnya dapat berjalan dengan baik, sehingga ketika ada hal major yang rusak dapat terdeteksi diawal. Selain itu juga dapat difungsikan sebagai warm-up caching, sehingga cache system yang ada pada aplikasi dapat “diisi” terlebih dahulu.

Bagaimana membuat automated tests


Tes-tes diatas tentu dapat dilakukan masing-masing individu, namun akan sangat mahal dan tidak produktif untuk dilakukan. Sebagai manusia, tentu kita punya batasan-batasan dalam melakukan tes-tes dalam jumlah yang besar, berulang dan dengan cara yang tidak manusiawi. Tapi tentu komputer dapat melakukan hal-hal tersebut dengan sangat mudah dan cepat, juga dapat mengingat kombinasi huruf dan angka yang sulit dalam jumlah yang banyak tanpa kesulitan.

Untuk membuat automated test, diperlukan test suite framework yang tepat dan cocok dengan aplikasinya. JUnit, Mocha, RSpec adalah salah satu contoh testing framework yang dapat digunakan dari masing-masing bahasa pemrograman. Ada berbagai macam opsi lainnya dari setiap bahasa jika mau mencari, jangan lupa untuk tanya kolega ataupun komunitas developer untuk mencari tahu mana framework yang tepat.
Ketika tes dapat dijalankan dengan script dari terminal, maka tes yang telah dibuat tentu dapat dengan otomatis pula dijalankan pada continuous integration server seperti Bamboo atau CircleCI ataupun menggunakan cloud service seperti Bitbucket Pipelines. Tools-tools seperti inilah yang dapat me-monitor repository dan menjalankan test-suite ketika ada perubahan pada main repository.

Penutup


Testing berperan penting untuk mengukur seberapa baik kualitas aplikasi dimana user bisa menggunakan aplikasinya (seperti login, menyimpan data). Selain itu berfungsi juga agar aplikasi yang dibuat tidak crash ketika ada data buruk yang masuk ataupun hal-hal lain yang tidak diinginkan dalam pengoperasiannya. Antisipasi dari typo, data yang belum lengkap ataupun salah URL. Aplikasi harus dapat mengambil dan mengolah data dengan mudah dan menjaganya jika data tersebut memang hanya user tersebut yang dapat mengaksesnya. Testing yang bagus dapat mengukur kemampuan aplikasinya sampai pada batas yang memang aplikasi tersebut dapat lakukan.

Test juga merupakan sebuah code. Jadi jangan disepelekan pada saat code review sebelum sampai akhirnya masuk production.

CODEPOLITAN

Tua Muda Bisa Belajar Pemrograman

Tua Muda Bisa Belajar Pemrograman - CodePolitan.com

"Saya berumur xx tahun, apakah saya terlalu tua untuk menjadi programmer?"
"Saya baru kelas 7 SMP, apakah saya terlalu muda untuk menjadi seorang programmer?"

Di banyak situs tanya jawab semacam Quora dan sejenisnya, ada pertanyaan-pertanyaan yang mirip seperti dua pertanyaan di atas. Apakah pembaca salah satu yang memiliki pertanyaan semacam itu? Jika iya, maka jawaban dari kedua pertanyaan tersebut adalah bisa. Tentu semua kalangan dapat belajar pemrograman mau itu seseorang yang baru berumur 8 tahun ataupun seseorang yang sudah lebih dari 40 tahun.

Baca juga artikel kami : Beberapa Tools Pemrograman yang Asik Bagi Anak-anak

Belajar Pemrograman Untuk Anak

Untuk anak-anak (SMP ke bawah) idealnya belajar pemrograman sebagai sarana untuk mengembangkan diri dan merangsang cara berpikir kreatif untuk membantunya tumbuh. Karena daya pikirnya masih masih terbatas, sarana belajar pemrograman yang dipakai mestilah lebih mudah, lebih berwarna dan lebih menyenangkan untuk dipakai.
Beberapa tools yang bisa dipakai untuk belajar diantaranya:

Scratch (Website)

img

Merupakan sebuah tools dikembangkan oleh perusahaan MIT Media Lab, tools Scratch ini merupakan sebuah platform pembelajaran pemrograman yang dikemas secara menarik dan bertujuan memperkenalkan dunia pemrograman pada anak-anak sehingga anak tersebut dapat menjadi programmer yang professional suatu saat nanti.
Sasaran platform tersebut merupakan anak usia 8-16 tahun, aplikasi ini mengajarkan kepada anak untuk membuat bahasa pemrograman visual yang telah disediakan pilihannya dan memasukkannya kedalam area kerja (workspace) untuk membuat animasi sprite.

img

Macam-macam pilihan tersebut dapat men-trigger loops, create variables, initiate interactivity, play sounds, dan lain sebagainya. Untuk para pembimbing atau orang tua, tersedia banyak artikel yang berisi pemahaman dasar untuk membantu anda menyiapkan pembimbingan. Intinya anda juga tidak perlu kemampuan pemrograman expert untuk berani mengenalkan Scratch pada anak-anak anda.

Stencyl (Desktop)

img

Stencyl memungkinkan untuk mengembangkan permainan dengan menggunakan fitur antarmuka drag dan drop dan tidak ada coding diperlukan sama sekali. Jika tidak ingin menggunakan antarmuka blok maka anak anda dapat mengetikkan kode juga. Stencyl memiliki dukungan platform yang luas dan game yang dikembangkan pada Stencyl dapat dimainkan pada Android, iOS, Windows, Mac, dan Linux juga.

Alice (Desktop)

img

Merupakan sebuah tools yang dikembangkan oleh Carnegie Mellon University, yang bertujuan sebagai media edukasi anak usia remaja mengenai pemrograman.


Alice adalah sebuah lingkungan pemrograman 3D yang inovatif yang memudahkan untuk membuat animasi untuk bercerita, memainkan permainan interaktif, atau video. Hal ini memungkinkan siswa untuk belajar konsep pemrograman berorientasi objek mendasar dalam rangka menciptakan film animasi dan permainan video sederhana.

img

Dalam antarmuka interaktif Alice, siswa hanya melakukan drag dan drop grafis untuk membuat sebuah program, dimana kode program sesuai dengan standar dalam bahasa pemrograman berorientasi obyek, seperti Java, C++, dan C#. Alice memungkinkan siswa untuk segera melihat bagaimana program animasi mereka berjalan, memungkinkan mereka untuk dengan mudah memahami hubungan antara kode program dan perilaku objek dalam animasi mereka. Dengan memanipulasi benda-benda di dunia maya, siswa memperoleh pengalaman dengan semua konstruksi pemrograman yang biasanya diajarkan dalam pelajaran pengantar bahasa pemrograman.

Tynker (Website)

img

Tynker adalah sistem pembelajaran program online yang dirancang untuk memotivasi anak-anak dalam menerjemahkan ide-ide kreatif mereka ke dalam permainan, anak-anak akan dilatih cara berpikir dan menuangkan alur cerita. Aplikasi ini menggunakan bahasa pemrograman visual yang mudah di mana tidak ada sintaks khusus dalam pemrograman selain hanya blok kode untuk digabungkan dengan ketentuan pemrograman.

Waterbear (Website)

img

Waterbear adalah pemrograman yang sangat baik untuk digunakan sebagai tools pemrograman untuk anak – anak, yang dimana fitur pendekatanya menggunakan drag dan drop untuk tujuan pemrograman.

img

Waterbear adalah bahasa pemrograman visual yang berarti anak – anak tidak perlu belajar bahasa sintaks untuk memulai sebuah pemrograman.
Anak-anak dapat membuat file baru, melihat contoh-contoh kreasi lain dan bermain-main dengan fitur yang berbeda satu dengan yang lain, bahkan ada deskripsi untuk setiap elemen yang mudah diikuti juga.

Hopscotch (Ipad)

img

Hopscotch terlihat memiliki tampilan yang sama dengan Scratch dan Tynker bahkan menggunakan cara yang sama yaitu klik dan drag Block pilihan kedalam area kerja tetapi hanya dapat digunakan di iPad.
Control dan karakter tidak sama halnya seperti Scratch dan Tynker, tapi Hopscotch adalah sebuah Aplikasi yang dapat digunakan untuk membantu mengenalkan teknik pemrograman kepada Anak tanpa harus memiliki dasar penulisan kode program, dan tidak harus berpengalaman dalam proses logika maupun pemecahan kasus atau masalah dalam program.


Ada pula beberapa materi yang dapat dipelajari untuk Anda yag merasa tua untuk belajar pemrograman. Jangan menganggap diri Anda tua, karena semua usia dapat belajar pemrograman. Jadi, jangan gengsi untuk memulai belajar pemrograman.

Belajar Pemrograman Untuk Orang Dewasa

Untuk orang dewasa, alasan belajar pemrograman bisa beragam. Ada yang bertujuan untuk mendapat pekerjaan baru, tugas di kantor karena mengembangkan produk baru, atau sekedar untuk mendukung hobi yang sudah dilakoni.

Semua orang bisa belajar pemrograman, nenek 82 tahun ini sudah membuktikannya. Meskipun semua orang bisa belajar pemrograman, tapi tingkat kesulitan yang akan dialami dari orang ke orang akan berbeda. Dua orang yang berbeda belum tentu berhasil dengan belajar menggunakan sumber belajar yang sama. Oleh karena itu, jika suatu hari nanti pembaca belajar dan merasa gagal paham, jangan keburu menyerah. Coba lah belajar menggunakan media belajar lainnya.
Bagi orang dewasa, belajar pemrogramn tidak perlu menggunakan tools khusus, namun bisa langsung menggunakan teknologi yang memang ingin dipakai. Beberapa sarana belajar untuk orang dewasa diantaranya:

Melalui Buku

Buku menjadi media belajar yang paling lengkap dan mudah untuk dicari. Toko buku sudah banyak tersedia dari kota-kota besar hingga ke kota kecil. Umumnya, setiap toko buku memiliki porsi khusus untuk buku-buku komputer.

Melalui Video Tutorial

Sebagian orang tidak suka membaca atau kurang bisa mengonsumsi pelajaran yang disampaikan melalui tulisan. Jika pembaca adalah salah satu orang yang seperti itu, maka cobalah untuk belajar lewat media video tutorial.

Melalui Training/Pelatihan Offline

Ada juga orang yang tidak bisa belajar sendiri. Membaca buku mengantuk, menonton video tidak fokus, sehingga menyebabkan materi yang disampaikan tidak bisa dicerna dengan baik. Jika sudah mencoba belajar dari buku hingga menonton video tutorial kurang menangkap materinya, mungkin pembaca perlu mencoba training/kursus/pelatihan offline tatap muka.

Keuntungan mengikuti kelas offline adalah kita akan langsung berhadapan dengan mentor/instruktur yang bisa mengarahkan saat itu juga ketika kita menemukan kesulitan saat belajar atau melakukan kesalahan yang jika belajar sendiri membutuhkan waktu untuk menyelesaikannya. Dibandingkan dua cara belajar di atas, cara ketiga ini membutuhkan waktu dan biaya yang relatif lebih tinggi.

Melalui Website Codepolitan



Untuk Anda yang merasa bahwa Anda terlalu tua atau bahkan Anda yang bisa disebut pemula dalam belajar pemrograman jangan khawatir, karena website Codepolitan menyediakan media belajar online yang dapat Anda ikuti. Anda tidak perlu khawatir untuk materi yang akan dipelajari karena Materi yang akan dipelajari terstruktur. Dalam website Codepolitan pun Anda akan diarahkan untuk belajar pemrograman dimulai dari dasar.
Jika Anda tetap merasa bahwa tetap tidak mengerti dalam mengikuti arahannya, Anda tidak usah khawatir. Karena di website Codepolitan pun ada forum tanya jawabnya dan ada studi kasus. Anda yang tadinya dianggap sebagai pemula tentu akan lebih mudah mengerti karena materi dari Codepolitan ini sangat terstruktur.
Ayo daftar belajar online di Codepolitan : (https://www.codepolitan.com/learn)
Materi-materi di Codepolitan meliputi:

  1. Mengenal Pemrograman Komputer
  2. Belajar Dasar-dasar HTML dan CSS
  3. Menjadi Web Programmer
  4. Belajar Pemrograman PHP

Melalui DevSchool



Bagi Anda yang berpikir bahwa belajar online hanya akan membuang kuota dan waktu saja, Anda tidak perlu khawatir karena Anda dapat belajar pemrograman melalui DevSchool. Apa itu DevSchool? DevSchool itu adalah media pembelajaran offline yang disediakan oleh Codepolitan yang bertujuan agar Anda dapat lebih mengerti tentang pemrograman karena melalui DevSchool ini Anda dapat bertatap muka dengan para pengajar yang tentu akan lebih mudah dimengerti.

Tidak usah khawatir untuk Anda yang baru pemula dalam pemrograman, karena di DevSchool akan diajarkan mulai dari dasar dan tentu akan diarahkan agar Anda dapat mengerti secara menyeluruh. Untuk materi nya pun bermacam-macam dimulai dari Basic Front Ent, Basic Android, dan bahkan menjadi Web Programmer yang tersedia di kota Bandung dan Jakarta.

Ayo daftar belajar melalui DevSchool : (https://devschool.id/)
Materi-materi di DevSchool meliputi:

  1. Kelas Weekend Menjadi Web Programmer di Jakarta
  2. Kelas Part-Time Menjadi Web Programmer di Bandung
  3. Basic Front End Web Development Intensive Class
  4. Basic Android App Development Intensive Class
Source:
Beberapa Tools Pemrograman yang Asik Bagi Anak-anak

Tua Muda Bisa Belajar Pemrograman

Monday, January 28, 2019

YouTube Vanced Features

YouTube Vanced Features

YouTube Vanced is a modded version of YouTube that is very popular in the Android community. It adds a number of features that you will never find in the official YouTube app from Google. Things like built-in adblocking, background playback without YouTube Premium, black/dark themes, and much more. This hub has everything you need to get YouTube Vanced up and running.

So why should you installed YouTube Vanced? Along with the features listed above, Vanced is a major improvement over the official YouTube app. Let’s go over some of the features you will enjoy. Check out the official XDA Forum thread for more information about Vanced.

Built-in Adblocker

Ads are an important part of supporting online publications and creators, but, understandably, a lot of people prefer not to see them on YouTube. Vanced has built-in controls for adblocking. You can toggle settings to get it working exactly how you want.

Background Playback



Playing videos in the background (outside of the YouTube app) is included with YouTube Premium and it is also offered by Vanced.

Force HDR Mode

Not all phones support HDR in the YouTube app, but Vanced can force it. HDR stands for “High Dynamic Range” and it can improve the video quality with impressive results.

Override Max Resolution

This feature allows you to watch videos in resolutions that would normally be disabled on your device.

Pinch to Zoom For All Devices

Phones with taller aspect ratios, like the Samsung Galaxy S9, allow you to pinch to zoom in on a video so it takes up the entire display. Vanced allows you to do this on any device with any aspect ratio.

Casting Toggle



This allows you to toggle the Google Cast icon. You can force it to be off even if you have casting devices nearby.

Secondary Themes



Everyone loves themes and Vance has a few to choose from. The official YouTube app doesn’t offer a dark theme, but Vanced has dark, black, and a few other colors. The default theme is white.

Picture-in-Picture Video

If you have an Android Oreo device, Vanced has picture-in-picture mode just like the official app.

Video Window Style



Don’t like the new YouTube video window that shows up when you minimize a video? Vanced allows you to choose between the new style or old style.

Repeat Videos

This feature allows you to make a video repeat after it’s done. Music videos are an obvious choice, but it can be used for any video. Pick a video you like and repeat it over and over again.

Preferred Resolution & Speed



Choose a preferred video resolution and playback speed and it will automatically remember your choice for every video.

Swipe controls for Volume & Brightness

Swipe controls for volume and brightness make it very easy to adjust these things while you’re in the middle of watching a video, especially if the video is full screen.

Installation instructions and APK download links can be found with the buttons below. Go forth and enjoy a better YouTube experience!


Google Chrome for Android is testing a new search-friendly omnibox

Google Chrome’s Omnibar feature is something that has attracted a lot of people to the browser. Not only can it suggest recently visited websites, bookmarked websites, and common web searches as you type, but it can also answer certain things before the user even presses enter. A new update that is now available via the developer and canary channels of Chrome for Android adds a new feature that makes it easier to copy, share, or edit a URL, and more intuitive to start a new search. You simply need to have Chrome Duet enabled.

In order to make Chrome for Android more accessible on these larger screen devices, the team has been working on a new feature that is known as Chrome Duet (which was previously called Chrome Duplex). With it enabled, we have a bottom bar that gives you access to commonly used features, one of which is a search button. When the user taps this search button the URL of the website you are currently viewing is highlighted. This meant that if you wanted to copy or share that URL then you would need to long press on the text and use the pop-up menu.
However, a new change has recently been added to Chrome Dev and Canary: the chrome://flags/#enable-search-ready-omnibox flag. With this new feature enabled we get a different UI when we tap on that search button in the bottom bar of Chrome for Android. Instead of the URL of your currently viewed website being highlighted, it’s pushed down below the address bar. This is a nice little addition that helps convey to the user that they can instantly start a new Google search right here.

Chrome Duet Search Bar

The URL of the website doesn’t go away or anything. Instead, it gets pushed down to where you would usually see your recently visited websites (but with a line under it to separate the two). To the right of that current URL there are a few new buttons available to the user. One lets you copy the URL, another lets you take it directly into the share menu, while the third one lets you edit it.
Chrome Dev
Developer: Google LLC
Price: Free
Chrome Canary (Unstable)

Sunday, January 27, 2019

Google Chrome will get protection from drive-by-downloads

Google Chrome will get protection from drive-by-downloads


Drive-by-downloads are one of the most dangerous things non-tech savvy people can come across on the web. The term is used when the website initiates downloading a file without users consent, or by tricking them. I’m sure almost all of you have seen a random file pop up in your download manager. Apparently, Google Chrome is going to fix that. 

Historically, the most radical (and the only) way to avoid drive-by-downloads, was to block all JavaScript content on all websites to prevent executing scripts. Google Chrome is going to implement a feature which will do just that but in a smarter way. To understand the solution, first, we must dive into the problem.

Drive-by-downloads are mostly initiated by a JavaScript script running in the background, infected advertising or the iframes. They run automatically without the user ever knowing about it. The industry has been trying to fix the problem since 2013, but a practical workaround hasn’t been deployed so far. BleepingComputer reports that according to Chromium’s Yao Xiao, drive-by-downloads will be identified as such and blocked only when:
  • The download is triggered via or navigations. Those are the only types of download that could happen without user gesture.
  • The click or the navigation occurs in a sandboxed iframe unless the tokens contain the “allow-downloads-without-user-activation” keyword.
  • The frame does not have a transient user gesture at the moment of click or navigation.
It should be noted that Chrome will only block the content when all of the conditions are met. Blocking the drive-by-downloads is both a functional and a security feature. While the main goal is to make sure that users don’t get malware on their computers, thus breaching their privacy, I don’t think anyone wants their browsers automatically downloading files with shady names and extensions, as safe as they might be. The feature will reportedly be available on all platforms except iOS. This document goes into the details of the feature. There is currently no expected time of release for the feature, but we’ll make sure to keep you updated.

SOURCE

Google Pixel’s Call Screen feature is testing a button to let you hear the speaker during calls

Google Pixel’s Call Screen feature is testing a button to let you hear the speaker during calls

little-known feature in the Google Pixel‘s Call Screen is that you have the ability to listen in on any ongoing phone calls by pressing the volume keys. Few people knew about this feature until Reddit user eurostylin discovered it was possible and shared his findings with the community. After a bit of tinkering, it seems that Google will actually be adding a button to the bottom right of the Call Screen UI to make this feature more obvious for the user.

An APK teardown can often predict features that may arrive in a future update of an application, but it is possible that any of the features we mention here may not make it in a future release. This is because these features are currently unimplemented in the live build and may be pulled at any time by Google in a future build.

I enabled a button in the bottom right-hand corner which turns on the speaker during a phone call with the Call Screen feature in active use. When the speaker icon is toggled on, you can hear what the call is saying and see the transcription at the same time. The transcriptions, while great, aren’t always that accurate so listening to what the person is actually saying can be helpful. Below are two screenshots from before the change and after the change on my Google Pixel 3 XL. Both devices are running on Android 9 Pie on the January 2019 update with the Google Phone app version 28 public beta.

Call Screen is really useful for me, and Google adding more features to make it easier to use is definitely welcome. Google has already improved the feature from its initial rollout with the ability to save transcriptions for calls. Though this new speaker icon is currently in testing, Google is always actively developing their software so we can assume there is more to come in future updates. We just hope the company will roll out the feature to users living outside of the United States. Call Screen is currently available for the Google Pixel, Google Pixel XL, Google Pixel 2, Google Pixel 2 XL, Google Pixel 3, and Google Pixel 3 XL.

REFERENCE

Saturday, January 26, 2019

Vivo Apex 2019 has no ports and a full-screen fingerprint scanner

Vivo Apex 2019 has no ports and a full-screen fingerprint scanner

While we slowly inch towards an all-display, bezelless future, we may also be moving towards a no-port, no-button future. After getting rid of the headphone jack, companies are now targeting the USB Type-C port and the power and volume buttons on devices. Yesterday, we saw the Meziu Zero get rid of all ports and buttons, and today, Vivo is showing off its Vivo Apex 2019 concept phone that also gets rid of all ports and buttons.

The Vivo Apex 2019 is a 5G concept phone that is made out of a glass unibody. Vivo is calling it a “Super Unibody,” made of “curved surface waterdrop glass,” with extra thickness around the edges to serve as an alternative to the usual metallic mid-frame. The right side of the device comes with three pressure-sensitive capacitive buttons as a replacement for conventional press buttons for power and volume functions.


Like the Meizu Zero, the Vivo Apex 2019 gets rid of the USB port, the speaker grill, the SIM tray, and the headphone jack. There is only a tiny microphone slit below the screen, but other than that, it’s a slab of glass. There is a magnetic pin connector on the back of the device, which snaps into place to take care of all your charging needs. The phone also makes use of eSIM to replace the SIM tray.

What makes the Vivo Apex 2019 even more unique is that it also features a full-display fingerprint scanner. Hands-on videos of the device do show that it works all across the display, which is bigger in area than Xiaomi’s improved tech, so this could be the way forward for fingerprint scanners.

The Vivo Apex 2019 shown off features include the Qualcomm Snapdragon 855 SoC with an unspecified 5G modem, 12GB of RAM, and 512GB of storage. The phone has a dual rear camera setup comprising of 12MP and 13MP sensors. There is no front camera on the device.

The Apex 2019 is a concept phone, meaning that it will not enter into production for consumers. Vivo did show off the actual working device at its Beijing event, and the device will also be shown off at MWC 2019. While the phone may not be mass produced in its current, crazy form, the technologies within it may be incorporated into other future devices.

REFERENCE

Rekomendasi Aplikasi Penghasil Cuan :D Dirumah saja tetap Dapet Duit !!!

Hallo Bosskyuuh semua. Perkenalkan aku Patrick Ananta berasal dari Jawa Tengah. Aku sudah lama sekali dirumahkan dikarenakan covid19 sehingg...