Friday, 30 September 2022

Kekuatan Blockchain yang dapat mempengaruhi Dunia


Dunia blockchain semakin populer di Indonesia belakangan ini. Semenjak tingginya keingintahuan masyarakat terhadap dunia cryptocurrency, semakin tinggi juga pencarian mengenai teknologi blockchain.

Bukan hanya di kalangan komunitas IT, namun teknologi ini mulai familiar di kalangan masyarakat awam. Fenomena yang berawal dari perkembangan teknologi internet ini kian menjadi sorotan masyarakat umum.

Apa itu Blockchain ?

Secara singkat, blockchain merupakan sebuah teknologi yang menjadi dasar dari adanya perkembangan dalam lingkup mata uang dalam bentuk kripto. Biasanya dicontohkan dengan wujud paling populer seperti bitcoin, ethereum, dan bentuk kripto lain yang sejenisnya. Perlu diketahui bahwa fungsi atau kegunaan dari blockchain tidak hanya berfungsi untuk menjadi mata uang kripto saja, tetapi juga dapat difungsikan menjadi sesuatu yang berguna di berbagai bidang lain, seperti bidang digitalisasi dan bidang teknologi.

Block yang memiliki arti kelompok dan chain yang artinya rantai. Pengertian dari penamaan teknologi ini mencerminkan bagaimana cara kerja blockchain. Dimana, teknologi tersebut memanfaatkan resource komputer untuk menciptakan blok-blok yang terhubung (chain).

Blok-blok yang saling terhubung nantinya digunakan untuk mengeksekusi sebuah transaksi. Teknologi ini memang cukup menarik karena sifatnya yang tidak terpusat. Blockchain mampu berjalan sendiri menggunakan algoritma komputer tanpa ada sistem tertentu yang mengaturnya.

Salah satu jasa pembayaran terbesar di internet yaitu PayPal telah menggunakan teknologi blockchain seperti bitcoin sebagai alat transaksi. Berdasarkan fungsinya tersebut, blockchain disebut distributed ledger technology. Teknologi ini memungkinkan pengguna memindahkan data secara peer to peer dengan mendistribusikan database ke beberapa titik tanpa tergantung sebuah server.

Blockchain sendiri dianggap sebagai sebuah transaksi dengan bentuk digital yang tentunya memiliki susunan dan berlandaskan pada bentuk strukturnya. Dengan adanya struktur yang jelas tersebut membuat rekaman catatan dari tiap individu atau disebut dengan block akan menjadi terkait satu sama lain seperti dirantai yang disebut dengan sebutan chain. Nah pengertian blockchain diatas kami anggap belum lengkap dan masih berupa pengertian umumnya saja.

Disamping seluruh hal di atas, teknologi blockchain tidak dipungut biaya transaksi apapun termasuk dengan biaya infrastruktur. Dengan keuntungan tersebutlah yang membuat blockchain dijuluki atau dianggap sebagai cara yang paling sederhana, cerdas, dan efektif untuk menyampaikan informasi dari satu orang ke orang lainnya dan seterusnya secara lebih aman dan tentunya berjalan secara otomatis.

Keunggulan Teknologi Blockchain

Mengapa teknologi blockchain disebut-sebut sebagai teknologi masa depan? Ada sejumlah keunggulan yang ditawarkan teknologi ini, baik untuk kepentingan pribadi maupun bisnis. 

Salah satunya, dari segi keamanan data yang dimiliki. Saat ini, masih banyak orang yang belum menyadari pentingnya melindungi data pribadi. Padahal, data adalah aset berharga yang harus dijaga karena dapat dimanfaatkan oleh oknum untuk merugikan pemilik data.

Menggunakan central database, kekurangannya adalah mudah di-hack karena ada single point of failure. Artinya, semua data disimpan dan dikelola dalam satu titik. Akibatnya, jika terjadi apa-apa misalnya perusahaan bangkrut, data yang dimiliki bisa hilang atau tidak bisa digunakan lagi. Sebaliknya, penyimpanan data via blockchain lebih aman karena menggunakan sistem security by sharing. 

Akan tetapi, diperlukan bandwidth yang sangat besar untuk membangun sebuah aplikasi di jaringan blockchain. Menurut Oham, hal ini bukan sesuatu hal yang tidak mungkin akan terjadi pada masa depan. Perkembangan teknologi yang sangat pesat adalah buktinya.

Dari segi transparansi, teknologi blockchain sangat mendukung. Siapa pun dapat melacak dan mengakses data yang dibagikan melalui jaringan ini. Namun, ada keunggulan lain berupa data sovereignty, yaitu adanya kekuasaan untuk tidak membagikan data pribadi yang tidak perlu kepada orang lain. Pemilik memegang kuasa penuh atas data yang berharga tersebut tanpa intervensi dari pihak lain.

Perbedaan Blockchain dan Cryptocurrency

Cryptocurrency merupakan sistem mata uang digital yang diamankan menggunakan kriptografi. Sehingga, mata uang tersebut tidak dapat dipalsukan oleh orang-orang yang tidak bertanggung jawab.

Aset-aset crypto ini menggunakan teknologi yang disebut dengan blockchain. Jadi, blockchain merupakan database yang tidak bisa diganti atau diubah. Intinya, blockchain merupakan teknologi yang digunakan untuk menyimpan data digital yang terhubung dengan kriptografi.

Keduanya ini memang berbeda, namun sama-sama berkaitan. Di mana crypto sebagai mata uang digital dan blockchain sebagai teknologinya serta penyimpanan data digital yang berkaitan dengan transaksi cryptocurrency.

Thursday, 29 September 2022

Berkenalan dengan machine learning, Salah satu cabang ilmu kecerdasan buatan


 

Kembali pada kecerdasan buatan. Kecerdasan buatan pada pengaplikasiannya secara garis besar terbagi tujuh cabang, yaitu machine learning, natural language processing, expert system, vision, speech, planning dan robotics. Percabangan dari kecerdasan buatan tersebut dimaksudkan untuk mempersempit ruang lingkup saat pengembangan atau belajar AI, karena pada dasarnya kecerdasan buatan memiliki ruang lingkup yang sangat luas.

Pengertian Machine Learning

Machine Learning adalah cabang dari artificial intelligence yang membantu sistem beradaptasi dengan kemampuan manusia, sehingga sistem tersebut dapat belajar dengan sendirinya tanpa arahan dari pengguna. Pembelajaran mesin dikembangkan berdasarkan ilmu statistika, data mining, dan matematika guna memudahkan mesin untuk menganalisa data tanpa pemrograman ulang. 


Ada dua jenis machine learning, diantaranya adalah:

1. Supervised Learning (Pembelajaran Terarah)

Disebut “supervised” karena dalam pendekatan ini, machine learning dilatih untuk mengenali pola antara input data dan label output. Pembelajaran yang diawasi menggunakan informasi sebagai input dan data berlabel sebagai output. Metode ini memasukkan input dengan output yang diketahui. Sekarang mesin dapat memeriksa hubungan dan ketergantungan antara data,  membandingkan output aktual dengan output yang diharapkan, dan membuat perubahan jika ada perbedaan. Dengan cara ini, mesin dapat memeriksa keakuratan pengoperasiannya.


2. Unsupervised Learning (Pembelajaran Tak Terarah)

Dalam algoritma unsupervised learning, sebuah data tidak memiliki label eksplisit. Tidak seperti supervised learning, unsupervised learning adalah jenis pembelajaran yang hanya memiliki variabel input dan tidak ada variabel output yang terkait. Tujuan dari pembelajaran mesin ini adalah untuk memodelkan struktur data dan menyimpulkan fungsi yang menjelaskan data. Unsupervised learning adalah jenis algoritma pembelajaran mesin yang digunakan untuk memperoleh informasi dari kumpulan data. Metode ini mengkaji data hanya  berdasarkan kedekatannya, atau yang biasa disebut dengan clustering. 

Perbedaan Machine Learning dan Artificial Intelligence

machine learning adalah sebuah cabang ilmu dari artificial intelligence atau kecerdasan buatan.

Beberapa perbedaan utama antara machine learning dan artificial intelligence adalah:


1. Keberhasilan vs efisiensi

Tujuan artificial intelligence adalah untuk meningkatkan peluang keberhasilan, sementara machine learning bertujuan untuk meningkatkan efisiensi tanpa berorientasi pada kesuksesan.

2. Pemecahan masalah vs kinerja

Artificial intelligence bertujuan untuk memecahkan masalah kompleks dengan simulasi kecerdasan alami

Sementara itu, machine learning bekerja dengan belajar dari data untuk meningkatkan kinerja mesin atau sistem.

3. Pembuatan keputusan

Artificial intelligence secara sederhana bekerja untuk membuat keputusan. Di sisi lain, machine learning berfokus pada pembelajaran atas input data.

4. Algoritma

Artificial intelligence meniru kemampuan manusia dalam hal respons dan perilaku untuk sistem. Lain halnya dengan machine learning yang mampu membuat algoritma sendiri untuk proses belajar.

5. Optimasi

Artificial intelligence bertugas mencari penyelesaian optimal, sementara machine learning tidak mempertimbangkan hal tersebut

Kegunaan Machine Learning

  1. Pembelajaran mesin membantu memecahkan masalah dunia dengan cara yang scalable. 
  2. Aplikasi  kecerdasan buatan ini juga dapat digunakan di berbagai  industri dan terus digunakan oleh pemilik industri besar dan para peneliti untuk terus berkembang. 
  3. Machine learning memungkinkan Anda memproses dan menganalisis data yang lebih besar dan lebih kompleks dalam waktu yang lebih singkat.


Wednesday, 28 September 2022

Workflow Desain UI dan UX? Simak Penjelasannya!


Agar dapat menciptakan produk yang berkualitas maka UI dan UX harus selaras dan berkesinambungan dalam proses pembuatan produk atau workflow desain.

Bagaimana sih workflow desain Ui dan Ux? Berikut kami uraikan urutannya

1. Riset UX 

Workflow desain UI dan Ux pertama adalah Riset UX. Riset yang tentunya harus memahami secara keseluruhan apa yang diinginkan dan dibutuhkan oleh pengguna.

Sederhanya aja saat pembuatan toko online maka yang harus dicari tahu adalah kebiasaan orang-orang belanja online, pembayaran yang digemari, dan sebagainya.

2. Membuat Information Architecture

Langkah kedua dalam workflow desain UI dan UX adalah membuat Information Architecture (IA) produk. Yaitu proses dalam menyusun struktur bagian-bagian pada website dan aplikasi. Tujuannya agar dapat memudahkan tim dalam memahami konsep sebuah produk.

3. Membuat Wireframe 

Langkah ketiga adalah proses wireframing. Sederhananya memberikan sketsa visual dari sebuah produk. Sketsa inilah yang kemudian menunjukan alur informasi bagi user untuk dapat mengoperasikan sebuah produk. Di sinilah letak peran dari UX Designer dalam merancang desain. 

Sketsa desain biasanya dibuat dulu dengan Low Fidelity Wireframe (LFW) baru setelah itu dibuat yang versi High Fidelity Wireframe (HFW). Beberapa tools yang bisa digunakan dalam proses wireframing, seperti Adobe XD, Figma, dan lain sebagainya. 

4. Mengatur UX flows 

Langkah keempat adalah mengatur flow bagaimana sebuah produk digunakan oleh pengguna. Flow biasanya dibuat dengan pendekatan UX agar kedepannya pengguna dapat merasa nyaman dalam menggunakan produk Anda. 

5. Membuat Prototype Desain UX 

Langkah kelima adalah membuat prototipe desain sesuai dengan desain wireframe dan flow yang telah dibuat. Beberapa taplikasi yang bisa digunakan dalam membuat prototipe desain seperti Invision, MockPlus, Adobe XD, dan lain-lain. 

6. Membuat Design System

Langkah keenam adalah pembuata design system agar dapat menyimpan segala komponen-komponen desain seperti icon, font, colour palette, dan lain-lain dalam sebuah library. 

Dalam tahap inilah dibutuhkan kolaborasi antara desainer UI dan developer. Desainer UI mulai membuat elemen desain, sementara developer membuat komponen library menggunakan HTML, CSS, Javascript, dan lain-lain. 

7. Mendesain User Interface

Langkah ketujuh tugas seorang UI Designer agar bisa mendesain tampilan produk yang menarik. UI Designer wajib untuk memberikan visual menarik pada sketsa dengan paduan warna, tipografi, dan transisi antar halaman dengan elemen-elemen yang telah dibuat di tahap sebelumnya.

Dalam tahap ini, Desainer bisa menggunakan beberapa tools seperti Adobe Illustrator, Adobe Photoshop, Sketch App dan aplikasi desain lainnya. 

8. Pengembangan produk oleh Developer

Dalam tahap ini, desain UI Desainer yang telah lolos uji mulai didevelop oleh para developer. Penting untuk developer bisa tetap berkolaborasi dan berkomunikasi dengan tim desainer agar dapat mengatasi permasalahan bersama, jika ditemukan sebuah kendala dalam tahap ini. 

9. Design Usability Test 

Sebelum produk benar-benar diluncurkan ke banyak orang, maka produk tersebut perlu melakukan proses uji coba dan dilakukan dengan memberikan skor pada setiap fitur desain.  Agar desain tersebut dapat mendapatkan saran dan masukan dari pengguna.

Tuesday, 27 September 2022

Mengenal API, REST API, dan RESTful API



Bagi seorang programmer pasti sudah tidak asing lagi dalam mendengar nama REST API. API (Application Programming Interface) adalah suatu kumpulan subroutine, protokol komunikasi, tools, dan fungsi untuk membuat sebuah perangkat lunak. Mudahnya, API adalah fungsi yang dapat dipanggil atau dijalankan oleh program lain sehingga dapat menghubungkan antara server dengan perangkat yang digunakan oleh user. Jadi, untuk mendapatkan suatu database dari suatu perusahaan diperlukan API untuk mengambil data tersebut hingga sampai kepada user.

Apa itu API?

API adalah singkatan dari Application Programming Interface yaitu sebuah software yang memungkinkan para developer untuk mengintegrasikan dan mengizinkan dua aplikasi yang berbeda secara bersamaan untuk saling terhubung satu sama lain.

Tujuan penggunaan dari API adalah untuk saling berbagi data antar aplikasi yang berbeda tersebut, Tujuan penggunaan API lainnya yaitu untuk mempercepat proses pengembangan aplikasi dengan cara menyediakan sebuah function yang terpisah sehingga para developer tidak perlu lagi membuat fitur yang serupa.

Apa itu REST API?

Representasional State Transfer disingkat REST. Ini adalah API yang mengikuti seperangkat aturan untuk aplikasi dan layanan untuk berkomunikasi satu sama lain.

REST API bekerja dengan mengajukan permintaan untuk sumber daya dan mengembalikan semua informasi yang relevan tentang sumber daya, diterjemahkan ke dalam format yang dapat dengan mudah ditafsirkan oleh klien (format ini ditentukan oleh API yang menerima permintaan). Klien juga dapat memodifikasi item di server dan bahkan menambahkan item baru ke server melalui REST API.

Apa itu RESTful API?

RESTful API adalah Application Programming Interface (API) yang mematuhi batasan arsitektur REST dan berinteraksi dengan layanan web RESTful. RESTful API juga mengikuti prinsip REST API. RESTful API lebih skalabel dan memiliki masa pakai yang lebih lama. RESTful API menggunakan permintaan HTTP untuk mengakses dan menggunakan data. Ada empat permintaan HTTP dasar yang dapat dibuat klien adalah:

  • GET — Untuk mengambil sumber daya.
  • POST — Untuk membuat sumber daya baru.
  • PUT — Untuk mengedit atau memperbarui sumber daya yang ada.
  • DELETE- Untuk menghapus sumber daya.
  • EndPoint REST API dan RESTful API.

Saat pengguna membuat respons, API mengirim informasi ‘request’ dari aplikasi web atau server web, ia akan menerima ‘response’. Lokasi tempat API mengirim request atau tempat sumber daya berada adalah endpoint. Dengan REST API, endpoint adalah salah satu ujung saluran komunikasi.

Kenapa Kamu Harus Menggunakan API

Kenapa kamu harus memilih menggunakan Web API? Jika dilihat dari penjelasan diatas pasti kamu sudah paham tentang apa saja kelebihan dan manfaat yang bisa kamu dapatkan saat menggunakan Web API dalam pengembangan aplikasi.

Berikut alasan mengapa memilih Web API :

  1. Web API bersifat Open Source
  2. Saat kamu membutuhkan Web Service dan tidak perlu SOAP, maka ASP.NET Web API adalah solusi dan pilihan terbaik.
  3. Web API dapat digunakan untuk membangun Layanan HTTP sederhana, non-SOAP di atas WCF message pipeline.
  4. Konfigurasi yang mudah dan tidak seperti pada layanan WCF REST.
  5. Pembuatan Service dengan API Web cukup sederhana, Berbeda dengan Layanan WCF REST, pembuatan service menjadi cukup sulit.
  6. Berdasarkan HTTP sehingga mudah untuk didefinisikan, mengekspos dan mengkonsumsi dengan cara RESTful.
  7. Berdasarkan arsitektur RESTful yang ringan dan bagus untuk perangkat yang memiliki bandwidth terbatas seperti ponsel pintar.

Monday, 26 September 2022

Tools yang sering di Gunakan oleh UI/UX Desainer


Bagi seorang UI/UX Designer, tools adalah hal yang paling utama dalam menjalankan suatu project desain dan tools juga bisa mempengaruhi kecepatan dan pengerjaan desain project yang sedang dikerjakan.

UI dan UX merupakan dua aspek yang berbeda dari desain web, tapi keduanya berkaitan. UI fokus pada desain interface dan bagaimana pengguna berinteraksi dengannya. Sementara, UX menekankan pengalaman pengguna saat menggunakan produknya.

Apa saja sih tools yang biasa digunakan oleh UI/UX Designer?

1. Figma

Figma memudahkan kamu membuat desain tampilan dengan cepat. Figma ini adalah platform yang berbasis web, jadi bisa dijalankan dengan hanya menggunakan web browser yang kamu punya seperti: Google chrome, Mozilla Firefox, Opera dan atau Safari.

Kelebihan dari figma ini adalah bisa menjadi tools kolaborasi dimana memungkinkan kita dapat bekerja secara bersamaan pada suatu project. Tentu ini sangat efektif bila kita sedang mengerjakan suatu project dengan Developer, Designer atau Copy Writer secara langsung dalam waktu yang sama.

Platform desain Figma adalah salah satu pesaing terberat Adobe. Selama beberapa tahun terakhir, brand Figma kian kuat dan dinilai sebagai platform desain yang berpikiran maju dan kolaboratif.

Namun, persaingan itu telah berakhir ketika Adobe mengumumkan bahwa mereka telah mencapai kesepakatan US$ 20 miliar atau sekitar Rp 300 triliun (asumsi kurs Rp 14.999 per dolar AS) untuk mengakuisisi Figma, Kamis (15/9/2022).

2. Sketch

Sketch adalah salah satu tools yang paling populer dikalangan komunitas desain UI/UX Designer atau Web Designer. Sketch memudahkan kita untuk membuat tampilan hight fidelity dan prototype.

Salah satu fitur keren dari sketch adalah Symbols, dimana kamu bisa mendesain UI assets dan elemen untuk digunakan kembali. Ini sangat membantu desainer untuk membuat desain agar lebih tertata dan konsisten.

3. AdobeXD

Adobe XD adalah tools yang dibuat oleh perusahaan Adobe dan berada pada koleksi Adobe Creative Cloud.

Berbeda dengan koleksi Adobe lainnya, Adobe XD ini adalah aplikasi yang khusus dibuat untuk para desainer yang berfokus merancang antaramuka aplikasi atau web yang disebut dengan UI/UX Designer.

Adobe XD ini juga salah satu tools yang paling populer digunakan oleh para desainer profesional maupun pemula karena kemudahannya dan juga fitur yang banyak serta menarik. Seperti misalnya fitur voice trigger, auto animatenya, responsif dan lainnya.

4. Invision


Tools ini tentunya sangat populer dikalangan banyak UI Designer. Karena kenapa? tools ini baru dirilis sejak beberapa bulan yang lalu. Dan sekarang Invision sudah bisa diinstal di Windows dan MacOS.

Invision bisa membantu kita para desainer untuk membuat tampilan dengan indah dan interaktif. Kamu bisa membuat custom animasi dan transisi dari sejumlah gerakan dan interaksi. Selain itu, kamu juga dapat membuat hanya dengan satu artboard untuk beberapa perangkat, alias responsif. Ini tentu menghemat waktu pengerjaan desain kita untuk lebih banyak spend waktu memikirkan ide yang lainnya.

Friday, 23 September 2022

Software Database terpopuler, Mana yang kamu gunakan ?


Database atau basis data merupakan kumpulan data yang sudah terorganisir dengan baik dalam bentuk skema, tabel, objek, view, query, dan lain sebagainya.

Saat ini sendiri ada beberapa aplikasi database terbaik yang bisa Anda gunakan. Beberapa aplikasi tersebut diantaranya menjadi yang paling populer.

Meskipun umumnya memiliki tampilan serta tombol menu yang berbeda namun tetap memiliki fungsi yang sama.

Apa itu Database

Database (basis data) adalah kumpulan dari berbagai data maupun informasi yang sudah tersusun dan tersimpan dalam komputer secara sistematik dan dapat diolah/manipulasi menggunakan program komputer untuk memperoleh informasi dari data tersebut.

Umumnya, perangkat lunak yang digunakan untuk mengelola database dikenal dengan sebutan database management system.

Istilah database sendiri mengacu pada koleksi data yang semuanya saling terkait satu dengan yang lain.

Tujuannya yakni bisa digunakan untuk mengelola data agar lebih efisien dan juga efektif.

Macam - Macam Software Database

Ada beberapa aplikasi database yang bisa Anda gunakan. Beberapa aplikasi tersebut antara lain:

1. Mysql


Merupakan salah satu aplikasi yang cukup populer diantara aplikasi lain database. Aplikasi yang satu ini memiliki sifat open source serta bisa Anda gunakan untuk membuka platform dengan baik tanpa mengalami gangguan.

MySQL sendiri bisa Anda gunakan sebagai sistem operasi dari Linux, Windows, mac OS X, dan masih banyak lagi. Terlebih, aplikasi ini juga bersifat network, sehingga Anda bisa menggunakannya dengan multi user.

2. MariaDB

Merupakan sebuah aplikasi yang dikembagkan oleh sistem basis data yang sama dengan aplikasi MySQL.

Mereka menyebutkan alasan mengapa mengembangkan aplikasi ini karena sebagai bentuk kekhawatiran pada Oracle Corporation.

Adapun tujuan dikembangkannya MariaDB adalah mempertahankan dan menjaga kompatibilitas tinggi terhadap MySQL.

3. PostgreSQL


Aplikasi database selanjutnya adalah PostgreSQL. atau yang lebih sering dikenal dengan nama PostgreSQL.

Aplikasi ini merupakan aplikasi basis data yang bersifat data relasional sehingga bisa digunakan untuk menyimpan hingga mengembalikan data dengan aman.

Aplikasi ini sendiri mampu merespon perintah dari perangkat lunak atau aplikasi yang lain.

Anda pun bisa menggunakan aplikasi ini dengan lebih ringan, meskipun digunakan oleh banyak pengguna.

Perlu diketahui juga bahwa pengguna yang mempunyai macOS Server, aplikasi PostgreSQL adalah database default. Hal ini berarti aplikasi basis data yang satu ini memang sudah terinstall dan bawaan dari OS tersebut.

4. SQLite

Aplikasi database lainnya adalah SQLite. Aplikasi yang satu ini cocok bagi Anda yang ingin mempunyai data yang terstruktur.

Anda bahkan bisa memanfaatkannya sebagai caching serta menyediakan data dari cloud. Bagi Anda yang juga suka dengan data dalam bentuk kolom dan baris maka gunakan saja aplikasi yang satu ini.

Thursday, 22 September 2022

Perbedaan antara Mobile Developer dan Web Developer


banyak sekali yang membandingkan antara mobile developer vs web developer? Jika dilihat dengan saksama, kedua profesi itu memang memiliki perbedaan satu sama lain. Lantas, apa kira-kira perbedaan di antara keduanya? Mari kita bahas.

Mengenal Mobile Developer dan Web Developer

Sebelum keperbedaan, alangkah baiknya kita mengenal dulu pengertian dari kedua itu agar tidak salah kaprah.

Pengertian Mobile Developer

Dilansir dari Target Jobs, mobile developer adalah profesi yang memiliki spesialisasi dalam teknologi seluler seperti membuat aplikasi untuk Google Android, Apple iOS, dan Microsoft Windows phone platform. profesi ini bertugas untuk merancang aplikasi di Play Store maupun App Store sedemikian rupa agar mudah digunakan oleh user.

Seiring dengan perkembangan zaman, orang-orang lebih banyak menggunakan handphone dibandingkan dengan komputer. Sebab, menurut Career Foundry, salah satu keuntungan dari aplikasi mobile adalah lebih cepat dan efisien digunakan jika dibandingkan dengan aplikasi web.

Pengertian Web Developer

sedangkan untuk web developer, profesi ini cenderung mengarah ke website daripada aplikasi mobile.

Dilansir dari Career Explorer, web developer adalah profesi yang bertanggung jawab untuk memprogram kode dari website agar dapat digunakan dengan mudah oleh user. Dalam artian lain, profesi ini bertanggung jawab penuh terhadap pembuatan website dari nol.

Sama seperti mobile developer, profesi ini juga harus menguasai bahasa pemrograman untuk menunjang pekerjaannya.

Tidak hanya bahasa pemrograman, web developer juga harus memahami database, coding, domain, JavaScript dan hal ain yang menjadi fondasi dari website.

Perbedaan Mobile Developer dan Web Developer

1. Berdasarkan Tugas dan tanggung jawab

Meskipun sama-sama mengembangkan di bidang Teknologi, mobile developer dan web developer memiliki tugas dan tanggung jawab yang berbeda.

web developer lebih berfokus kepada pembuatan website, sedangkan untuk mobile developer cenderung fokus kepada pembuatan aplikasi di handphone, seperti di Android maupun iOS.

Dengan demikian, sesuatu yang dihasilkan dari proses pengembangan dari kedua profesi tersebut pun sangat berbeda.

Web developer menghasilkan website dan mobile developer menghasilkan aplikasi.

2. Tools yang di gunakan

Web developer lebih menggunakan tools seperti jQuery, Firebug, dan Sublime Text untuk menunjang pekerjaannya dalam membuat website.

Sementara itu, mobile developer cenderung sering menggunakan Xamarin, Sencha, dan lain-lain.

Demikian penjelasan singkat mengenai mobile developer vs web developer.

Wednesday, 21 September 2022

Strategi dalam PenetrationTesting


Salah satu aspek penting dalam melakukan Penetration testing adalah menentukan ruang lingkup di mana Penetration tester harus melakukan pengujian keamanannya. Biasanya, ruang lingkup ini mendefinisikan sistem, lokasi, teknik, dan tool apa yang dapat digunakan dalam melakukan Penetration testing. Membatasi ruang lingkup Penetration testing dapat membantu memfokuskan anggota tim dalam melakukakan tugas Pen testing. Berikut ini adalah beberapa strategi yang digunakan oleh profesional Pen testing, yaitu;

Targeted Testing 

Yaitu menggunakan skenario penguji keamanan beserta staf nya melakukan uji celah keamanan secara bersama sama. Dalam strategi ini antara penguji dengan staf fokus untuk menemukan celah keamanan dan saling membantu.

External Testing 

Yaitu mentargetkan server atau perangkat teknologi yang digunakan yang terlihat secara eksternal. Target dari penguji adalah server, nama domain, server email, server web, atau firewall. Tujuannya adalah untuk mengetahui apakah hacker bisa mengeksploitasi sistem dari luar kemudian mendapatkan akses perangkat dan mengambil data.

Internal Testing 

Yaitu melakukan percobaan serangan menggunakan pola pikir orang dalam. Atau pihak yang memang mempunyai akses ke perangkat seperti server dan sistem yang lain. Pengujian semacam ini berguna untuk memperkirakan seberapa besar kerusakan yang dapat disebabkan oleh staf yang ada di dalam sistem ketika mempunya niat jahat.

Blind Testing 

Yaitu mensimulasikan tindakan dan prosedur penyerangan secara nyata dengan informasi yang sangat terbatas. Misal penguji hanya diberikan nama perusahaan,kemudian penguji melakukan berbagai cara untuk mengumpulkan informasi. Kemudian melakukan pengujian keamanan ketika informasi yang dikumpulkan sudah cukup. Biasanya strategi ini membutuhkan waktu yang lama, oleh karena itu jasa untuk pengujian ini sangat mahal.

Double Blind Testing 

Hampir sama blind testing, hanya saja ditambah dengan staf yang ada di organisasi atau perusahaan sudah mengetahui jika ada serangan di dalam sistemnya. Sehingga melakukan beberapa perbaikan di celah keamanan. Sehingga hacker atau pen testing memerlukan usaha yang lebih keras untuk menerobos ke dalam sistem. Ini lah mengapa disebut double blind testing. selain itu staf perusahaan juga sekaligus melakukan prosedur dari insiden keamanan teknologi informasi.

Black Box Testing 

Yaitu sama dengan blind testing. penguji hanya diberikan sedikit informasi misal nama perusahaan, kemudian penguji melakukan berbagai cara untuk mengumpulkan informasi. lalu melakukan pengujian keamanan ketika informasi yang dikumpulkan sudah cukup. Biasanya strategi ini membutuhkan waktu yang lama.

White Box Testing 

provides the penetration testers information about the target network before they start their work. This information can include such details as IP addresses, network infrastructure schematics and the protocols used plus the source code.

Tidak seperti black box testing, pengujian strategi ini Penetration tester mendapat informasi deteail tentang jaringan target sebelum memulai pekerjaan mereka. Informasi ini dapat mencakup rincian seperti alamat IP, skema infrastruktur jaringan, dan protokol yang digunakan ditambah source code dari aplikasi yang digunakan.

Tuesday, 20 September 2022

Penetration Testing


Mengenal Penetration Testing

Tentunya kita semua pernah mendengar istilah “hacking” yang mengacu pada tindakan mendapatkan akses ke informasi pribadi seseorang tanpa sepengetahuan atau persetujuan mereka. Peretasan telah tumbuh secara signifikan sejak 1960-an ketika istilah itu diperkenalkan. Jumlah serangan terhadap organisasi IT, militer negara, negara, dan komputer pribadi terus bertambah bahkan higga sekarang. Peretasan merupakan masalah besar, tetapi organisasi belum tentu siap untuk jenis serangan peretasan ini yang terus tumbuh dan berkembang secara canggih.

Pengertian Penetration Testing

Penetration testing  atau disebut juga Pen Testing adalah suatu usaha atau praktik penerobosan ke dalam sistem komputer untuk menguji celah keamanan yang bisa diexploitasi sebelum celah tersebut digunakan oleh hacker. Uji coba penerobosan ini mencakup aplikasi web, jaringan komputer, Internet of Things (IoT), dan lain lain. Simulasi penyerangan terhadap sistem informasi dilakukan oleh tim ahli sehingga mampu memperkuat sistem keamanannya, agar tidak memiliki celah untuk masuk dan merugikan perusahaan dari sistem informasinya. Penetration Testing bagian dari ethical hacking, di mana proses ini berfokus secara eksplisit hanya untuk menembus sistem informasi.

Kemudian, apa yang menjadi perbedaan antara penetration testing dengan ethical hacking? Penetration testing berfokus secara eksklusif pada sistem informasi, sementara ethical hacking adalah area yang luas untuk melindungi system. Ethical hacking memiliki lebih banyak peran dan tanggung jawab pekerjaan jika dibandingkan dengan penetration testing.

Fase Penetration Testing

Untuk melakukan serangan yang terstruktur, ethical hacker menggunakan berbagai fase. Berikut fase dalam penetration testing yaitu :
  • Reconnaissance : Penyerang menggunakan berbagai alat peretasan seperti (NMAP, Hping) untuk mendapatkan informasi tentang target.
  • Scanning: Menggunakan alat seperti NMAP dan Nexpose, penyerang mencoba untuk melihat kerentanan dalam system
  • Gain access : Di sini, penyerang mencoba untuk mengeksploitasi kerentanan menggunakan alat Metasploit
  • Maintain access: Sekarang, penyerang mencoba memasang beberapa backdoor ke dalam sistem korban untuk akses selanjutnya (Metasploit digunakan kembali dalam fase ini).
  • Clear tracks: Pada tahap ini, penyerang membersihkan semua bukti serangan karena tidak ada penyerang yang suka tertangkap.
  • Reporting: Di fase terkahir ini, ethical hacker mendokumentasikan laporan yang terdiri dari kerentanan yang ditemukan, alat yang digunakan untuk mengeksploitasi, dan tingkat keberhasilan operasi percobaan.

Monday, 19 September 2022

Macam-macam Pengujian Perangkat Lunak


 Macam-macam Pengujian Perangkat Lunak

Melanjutkan pembahasan sebelumnya terkait macam-macam pengujian perangkat lunak atau software, kali ini akan menjelaskan beberapa tahapan atau macam-macamnya. Untuk merefresh materi Software Testing atau Pengujian Perangkat Lunak adalah sebuah tahap yang dilakukan untuk mengumpulkan informasi kulitas dari sebuah produk yang telah diciptakan, yang nanti akan berguna untuk produk itu sendiri dan para skateholder (pemangku kepentingan). Teknik pengujian sendiri mencakup proses menggunakan produk secara teliti dengan maksud untuk menemukan kekurangan dan hal-hal yang bisa ditingkatkan pada produk tersebut.

Macam-macam Software Testing

Terdapat banyak macam-macam tahapan untuk melakukan Pengujian Perangkat Lunak, Banyak pengembang produk yang mencoba untuk menggunakan semua jenis tahapan untuk mencapai kualitas produk yang sempurna, tapi pada umumnya tidak semuanya di adaptasi oleh pengembang produk, semua itu tergantung pada waktu dan sumberdaya yang dimiliki oleh pengembang produk tersebut. Berikut adalah tahapan yang dilakukan untuk mengukur kualitas produk yang dimulai dari yang paling atas ke bawah.

Smoke testing

Smoke Testing juga biasa disebut sebagai Build Verification Testing atau Confidence Testing, adalah salah satu tahap pengujian untuk mengungkapkan kegagalan sederhana tapi yang cukup parah untuk ketidakberhasilan suatu fungsi atau fitur pada produk. Pengujian ini akan menentukan kelayakan rilis pada suatu build di produk. Smoke testing terdiri dari sebuah kumpulan dari test dasar (seperti: apakah program ini berjalan? apakah tombol ini berjalan?) yang akan dijalankan pada setiap build dari produk untuk menguji fungsionalitas dari produk, informasi tersebut akan digunakan untuk sebuah konfirmasi kepada Team QA apakah dibutuhkan Software Testing lebih khusus ke bagian yang bermasalah.

Sanity Testing

Sanity Testing, sedikit mirip seperti Smoke Testing dimana dilakukan setiap tedapat build baru pada produk, tapi testing ini adalah kumpulan dari Regression Testing, Testing yang berfokus kepada perubahan seperti fitur baru dan perbaikan bug.

Regression Testing

Regression Testing adalah tahap pengujian untuk menkonfirmasi apakah perubahan code tidak mempengaruhi atau merusak fitur-fitur yang sudah ada, yang akan memastikan bahwa kode lama atau fitur yang lama masih bekerja dengan baik dan tidak mendapatkan efek setelah ada penambahan atau perubahan kode.


Friday, 16 September 2022

Serangan Cyber


Jenis-Jenis Cyberattack


Sebelumnya saya sudah sharing beberapa Serangan cyber yang sering ditemukan, kali ini saya akan sharing beberapa serangan lagi. saya akan mengingatkan kembali mengenai apa itu Cyberattack Serangan siber menjadi hal yang menakutkan bagi pemilik Komputer pasalnya Sistem yang kita miliki dapat dimasuki secara ilegal oleh orang tidak bertanggung jawab. Bahkan tidak hanya di Komputer disemua hal yang berhubungan dengan Teknologi, Tidak ada sistem yang aman. Kerentanan sering ada di setiap sistem tergantung kemampuan Hacker tersebut untuk mencari Celah yang ada di dalam sistem.

Seperti yang telah disebutkan diatas bahwa Cyber attack adalah upaya untuk memasuki sistem dengan cara yang ilegal dengan maksud dan tujuan untuk pencurian data hingga perusakan sistem jaringan sampai infrastruktur perangkan komputer.

Jenis Jenis Cyberattack

Phising

Phishing adalah jenis penipuan online di mana penjahat cyber menyamar sebagai organisasi yang sah melalui email, pesan teks, iklan, atau cara lain untuk mencuri informasi sensitif. Hal ini biasanya dilakukan dengan menyertakan tautan yang akan membawa Anda ke situs web perusahaan untuk mengisi informasi Anda.

Sekitar 94 persen malware akan dikirim via email dan menggunakan teknik rekayasa sosial untuk mengelabui penerima atau korban

Man in the Middle

Sesuai dengan namanya, cyberattack jenis ini menempatkan hacker di tengah-tengah komunikasi antara dua orang. Ketika Anda mdang berkomunikasi, maka berbagai informasi penting yang dibagikan di antara keduanya bisa dicuri oleh hacker.

Selain Jenis Serangan Siber diatas, Darktrace, perusahaan penyedia layanan cybersecurity memperkirakan ada 4 serangan siber yang akan menjadi tren pada tahun 2022, diantaranya.

Cross-site Scripting

Sebuah jenis injeksi berupa script berbahaya yang diinjeksikan ke sebuah situs rentan maupun tepercaya. Script ini dapat mengakses cookie, session token, ataupun informasi sensitif lainnya yang disimpan browser.

Thursday, 15 September 2022

White Hat, Grey Hat, dan Black Hat


White Hat, Grey Hat, dan Black Hat


Aktivitas seorang hacker bisa berbahaya atau bermanfaat. Jika seorang Peretas mencoba mencuri data pribadi, Uang dll., Jenis kegiatan peretas ini adalah kegiatan ilegal dan buruk. Tetapi, jika dia menggunakan keahlian ini untuk mengamankan sistem apa pun terhadap peretas lain, maka kegiatan ini sah dan setiap organisasi penting membutuhkan orang semacam itu di jaringan mereka.

Apa itu Hacker ?

Merujuk pada hasil pencarian di kamus Oxford, arti hacker mengacu pada seorang ahli komputer yang bertujuan mendapatkan akses ke dokumen penting atau jaringan tertentu.

Hacking adalah salah satu tindakan ilegal karena berusaha mengakses data, informasi, atau jaringan tanpa izin dari pemiliknya. Hacker umumnya menjalankan aksi dengan mengubah, merusak, atau membobol keamanan targetnya.

Tujuan para hacker umumnya adalah merusak keamanan target dengan meretas sistem dan sandi mereka dengan menerapkan sejumlah rumus algoritma rumit. Itulah mengapa incaran utama para hacker adalah sistem keamanan yang lemah.

Jenis Jenis Hacker

Umumnya, Hacker dibagi menjadi tiga, bergantung pada berbahaya tidaknya aktivitas mereka. Pembagian utama ini adalah:

  1. Black Hat Hackers
  2. White Hat Hackers
  3. Grey Hat Hackers

Black Hat

Jenis hacker pertama adalah black hat.
Hacker ini yang biasa dikenali oleh masyarakat secara umum, yaitu kriminal yang melakukan kegiatan ilegal. black hat adalah tipe hacker yang mengakali sistem komputer orang lain dengan niat yang buruk.
Bisa jadi untuk mencuri data pribadi, memeras uang orang yang di hack, atau mengutak-atik sebuah website agar tidak bisa dibuka oleh pengunjungnya.

Di dalam dunia cybersecurity, salah satu ancaman yang ditakutkan adalah hacker black hat. Pasalnya, mereka bisa saja membuat worms atau program lain yang bersifat merusak. Data pribadi yang dicuri oleh hacker ini bisa saja dijual di black market atau ke organisasi kriminal, atau bisa juga disalahgunakan untuk keperluan lainnya.
Biasanya, niat hacker black hat adalah untuk mendapatkan keuntungan dari segi uang, menjadi terkenal dengan nama alias tertentu, atau untuk melakukan tindak kriminal saja.

White Hat

Hacker topi putih atau white hat hacker adalah seorang ahli komputer profesional yang berkecimpung dalam dunia cyber security.

Mereka bukanlah hacker dengan niatan buruk. White hat hacker adalah utusan resmi pemerintah yang memiliki sertifikat izin meretas sistem demi menguji titik lemah sebuah organisasi. Itulah mengapa banyak orang menyebut hacker topi putih sebagai hacker etis.

Grey Hat

Beberapa ilmuwan menyatakan bahwa grey hat hacker adalah peretas dengan tujuan baik sekaligus buruk. Apa sih maksudnya?

Singkatnya, hacker jenis ini umumnya melaksanakan aksi dengan membobol keamanan target dengan maksud awal mencari kelemahan target tersebut. Namun, pada akhirnya mereka akan meminta target untuk memberi upah sebagai timbal balik hasil jerih payahnya.

Jadi, bisa disimpulkan bahwa grey hat hacker adalah peretas yang mengutamakan kepentingannya pribadi dengan embel-embel membantu target.

Wednesday, 14 September 2022

macam macam tipe data pada pemorgraman PHP


 macam macam tipe data pada bahasa pemrograman PHP


Data types atau tipe data adalah sebuah pengklasifikasian data berdasarkan jenis data tersebut. Tipe data dibutuhkan agar kompiler dapat mengetahui bagaimana sebuah data akan digunakan. Untuk mengembangkan sebuah program, Di dalam PHP sendiri telah tersedia 8 (delapan) jenis tipe data yang bisa di gunakan untuk menentukan suatu nilai yang ditampung.

Dalam beberapa bahasa pemrograman untuk menentukan jenis tipe data maka harus terlebih dahulu mendeklarasikannya, berbeda dengan PHP, dimana penulisan tipe data tidak perlu dideklarasikan karena PHP akan otomatis membaca jenis tipe data sebuah nilai, berikut ini adalah jenis-jenis tipe data dalam php dan penjelasannya.

Tipe Data Integer

Tipe data ini paling umum digunakan untuk bahasa pemrograman PHP. Termasuk tipe data integer merupakan bilangan bulat non desimal diantara -2,147,483,648 dan 2,147,483,647.

Apa aturan penulisan tipe data integer?

  • Integer harus punya paling sedikit satu digit (0-9).
  • Integer tidak dapat berisi koma atau kosong.
  • Integer dapat menjadi salah satu dari positif atau negatif.
  • Integer dapat dispesifikasikan menjadi 3 (tiga) format : desimal (basis 10), heksadesimal (basis 16 – dimulai dengan 0x), atau oktal (basis 8 – dimulai dengan 0).

Contoh :  

<?php $decimal= 1234; echo "Ini adalah bilangan desimal: $decimal"; ?>

Tipe Data Float 

Tipe data float bisa disebut Floating-point dan bilangan real atau biasa disebut juga sebagai bilangan pacahan, contohnya 2.5, 4.5 dan lain-lain, contoh penggunaan tipe data float pada PHP:
<?php $a = 4.5; $b = 3.5; $hasil = $a+$b; echo "Contoh hasil penjumlahan tipe data float 4.5 dan 3.5, hasil: $hasil"; ?>

Tipe Data String 

Tipe data string digunakan untuk menampung nilai berupa text dan karakter, string dapat berupa sebuah kata atau kalimat, karena jenis tipe data string berupa text dan karakter maka operasi aritmatik pada jenis tipe data ini tidak dapat dihitung, contohnya:
<?php $string = 'Ini adalah jenis tipe data string'; echo $string; ?>

Tipe Data Boolean 

Jenis tipe data boolean adalah jenis tipe untuk menentukan logika kondisi benar atau salah dengan menggunakan nilai TRUE dan FALSE, jenis tipe data ini tidak berpengaruh pada huruf besar dan kecil, selain itu untuk merepresentasikan kondisi tipe data boolean dapat juga menggunakan nilai 1 (TRUE) dan 0 (FALSE).
<?php $a = TRUE; $b = FALSE; if($a == TRUE) { echo 'Variabel $a bernilai TRUE'; } echo '<br />'; if($b == FALSE) { echo 'Variabel $b bernilai FALSE'; } ?>

Tipe Data Array

Array adalah suatu variabel yang terdiri dari sekumpulan data dimana data-data tersebut mempunyai tipe data yang sama dan setiap data disimpan pada alamat memori yang berbeda-beda, banyak yang bisa digunakan dengan menggunakan array, misalnya untuk mengelompokan data yang sama contohnya nama kota, tahun, dan lain-lain. Berikut ini cara penulisan array:
<?php $data = array('Jakarta', 'Bogor', 'Depok', 'Tangerang', 'Bekasi'); echo 'Ini adalah contoh nama kota jabodetabek yang tersusun di array: <br />'; print_r($data); ?

Tuesday, 13 September 2022

Macam-macam Pengujian Perangkat Lunak


 Macam-macam Pengujian Perangkat Lunak

Apa itu Software Testing?

Software Testing atau Pengujian Perangkat Lunak adalah sebuah tahap yang dilakukan untuk mengumpulkan informasi kulitas dari sebuah produk yang telah diciptakan, yang nanti akan berguna untuk produk itu sendiri dan para skateholder (pemangku kepentingan). Teknik pengujian sendiri mencakup proses menggunakan produk secara teliti dengan maksud untuk menemukan kekurangan dan hal-hal yang bisa ditingkatkan pada produk tersebut.

Macam-macam Software Testing

Terdapat banyak macam-macam tahapan untuk melakukan Pengujian Perangkat Lunak, Banyak pengembang produk yang mencoba untuk menggunakan semua jenis tahapan untuk mencapai kualitas produk yang sempurna, tapi pada umumnya tidak semuanya di adaptasi oleh pengembang produk, semua itu tergantung pada waktu dan sumberdaya yang dimiliki oleh pengembang produk tersebut. Berikut adalah tahapan yang dilakukan untuk mengukur kualitas produk yang dimulai dari yang paling atas ke bawah.

1. User Acceptance Test (UAT)

User Acceptance Test atau Tes Penerimaan Pengguna testing ini bertujuan untuk menentukan apakah produk yang dikembangkan telah memenuhi kebutuhan pengguna, kebutuhan tersebut befokus kepada pengguna, produk itu sendiri harus telah memenuhi fungsionalitas dan detail produk yang dapat diterima oleh pengguna.

2. Usability Testing

Usability Testing atau pengujian kegunaan adalah evaluasi yang dilakukan pada produk yang memfokuskan pada mengidentifikasi masalah kegunaan, mengumpulkan data kualitatif dan kuantitatif, dan menentukan kepuasan pengguna produk, dalam tahap ini, testing dilakukan oleh perwakilan pengguna, mereka akan menggunakan produk kita untuk menentukan apakah mereka puas dengan fungsionalitas, interface dan detail lainnya pada produk tersebut.

3. Performance testing

Performance testing atau Pengujian kinerja adalah suatu evaluasi terhadap produk untuk menentukan apakah sebuah produk tersebut memenuhi harapan dalam kecepatan waktu, skalabilitas, dan stabilitas dibawah beban kerja yang diharapkan. Biasanya, produk harus memenuhi kriteria seperti Response Time dan Throughput.

  • Response time, menentukan waktu maksimum yang diijinkan dari respon suatu produk.
  • Throughput, menentukan jumlah minimum query dan transaksi yang harus diproses dalam suatu durasi waktu.

4. Stress Testing

Stress Testing atau biasa disebut sebagai Torture Testing, adalah evaluasi produk dengan metode pengujian dengan memberi tekanan kepada produk secara intensif, hal ini untuk menentukan stabilitas produk atau sistem terlebih lagi saat menerima tekanan besar.

Monday, 12 September 2022

Apa itu CRUD


 Mengenal CRUD

CRUD adalah singkatan dari Create, Read, Update, dan Delete. Proses ini sangat berkaitan dengan pengambilan atau transaksi data dari atau ke database. Hal ini menjadi krusial apabila berhubungan dengan sistem informasi perusahaan karena data yang diproses biasanya merupakan data transaksi.

CRUD yang tersusun dari 4 rangkaian kata ini adalah persisten terpenting untuk diimplementasikan pada sebuah aplikasi. Mayoritas aplikasi mempunyai bentuk fungsi CRUD, dan yang paling penting yakni aplikasi CRUD memanfaatkan form untuk mengembalikan serta mengambil data pada database.

Bagi PHP Developer, operasi CRUD biasanya menjadi pillar untuk mempelajari proses pengelolaan data menggunakan PHP dan tentu saja MySQL database. Nah CRUD ini bisa diibaratkan sebagai jalur atau koneksi yang menghubungkan antara bahasa pemrograman PHP dengan MySQL.

Lebih jelasnya, berikut ini ulasan operasi CRUD beserta contohnya:

  • Create (C) merupakan proses pembuatan data baru. Proses ini biasanya dilakukan ketika Anda mendaftar pada sebuah halaman website. Data yang Anda masukkan akan disimpan di dalam database menggunakan operasi Create.
  • Read (R) merupakan proses pengambilan data dari database. Proses ini biasanya terjadi ketika Anda ingin melakukan proses login di halaman website tertentu. Saat Anda klik “Login” maka website akan menjalankan proses “Read” untuk melakukan verifikasi akun yang Anda gunakan.
  • Contoh operasi yang lebih sederhana yaitu ketika Anda mengakses sebuah halaman website, saat itu pula proses Read berjalan. Hasil dari operasi ini adalah tampilan halaman website yang Anda lihat di browser.
  • Update (U) adalah proses mengubah data yang berada di dalam database. Contoh proses ini ketika Anda mengubah profil di dalam akun sosial media. Saat Anda klik “Ubah”,  website akan mengirimkan proses Update ke dalam database. Kemudian database meresponnya dengan mengubah data lama menjadi data baru yang Anda tambahkan melalui halaman profil.
  • Delete (D) adalah proses untuk menghapus data yang ada di database. Proses ini mirip dengan Update, bedanya, proses Delete akan mengubah data yang ada di database menjadi ‘tidak ada’.

Fungsi CRUD pada Sebuah Framework

jika dilihat dari nama dan pengertiannya, fungsi dari CRUD itu sendiri sudah dapat kita bayangkan, Tersusun dari empat kata yang memiliki makna serta fungsi masing-masing. Seluruh fungsi pada CRUD tersebut bisa merujuk pada semua fungsi yang dioperasikan di dalam aplikasi database relasional serta dipetakan dengan metode SQL Statement, operasi DDS maupun HTTP standar.

CRUD juga bisa menampilkan konvensi user interface yang memungkinkan pengguna dapat mencari, melihat, memodifikasi, merubah suatu informasi atau data melalui form serta laporan berbasis komputer.

Sehingga dapat disimpulkan bahwa data yang ada pada database dapat dibuat atau diinput, kemudian dapat dibaca, di-update atau diperbaharui serta dapat juga untuk dihapus. Jadi, data tersebut bisa diubah dengan mengambil dan menambhakan layanan yang ada, dan bisa mengubah properti hingga akhirnya akan dikirimkan kembali ke layanan update.

Itulah gambaran kecil penggunaan CRUD di website.


Friday, 9 September 2022

Tingkatan Basaha pemrograman


 Tingkatan Bahasa Pemrograman

Bahasa pemrograman di kenal juga dengan istilah “bahasa komputer” atau “bahasa pemrograman komputer” merupakan sebuah instruksi atau sekumpulan instruksi yang di gunakan untuk memerintahkan komputer dalam melakukan suatu pekerjaan ( proses ), seorang programmer ( orang yang membuat suatu program/aplikasi/perangkat lunak dengan menggunakan suatu bahasa pemrograman ) dapat menentukan secara presisi data yang akan di olah oleh komputer, cara data di simpan atau di teruskan, dan langkah apa yang harus di lakukan oleh komputer dalam berbagai situasi.

Bahasa pemrograman, menjembatani bahasa manusia atau bahasa yang dapat di fahami oleh manusia dengan bahasa mesin atau bahasa yang dapat di fahami oleh komputer, bahasa pemrograman haruslah di fahami oleh programmer ( manusia ) dalam menyusun instruksi yang di butuhkan serta harus pula di mengerti oleh komputer dalam menjalankan instruksi yang di berikan, beragam bahasa pemrograman banyak bermunculan dan di gunakan oleh para programmer dalam pengembangan perangkat lunak, namun tahukan Anda bahwa ternyata bahasa pemrograman terbagi ke dalam tingkatan-tingkatan tertentu? mari kita bahas bersama.

Tingkatan bahasa pemrograman

Pengklasifikasian bahasa pemrograman ke dalam tingkatan tertentu sebenarnya tidak baku, beberapa sumber mungkin menyatakan tingkatan yang berbeda seperti bahasa pemrograman tingkat rendah, bahasa pemrograman tingkat menengah, dan bahasa pemrograman tingkat tinggi, sumber lain juga menyatukan bahasa pemrograman tingkat menengah dengan bahasa pemrograman tingkat tinggi sehingga hanya ada bahasa pemrograman tingkat rendah dan bahasa pemrograman tingkat tinggi saja.

1. Bahasa pemrograman tingkat rendah

Bahasa mesin atau kode mesin merupakan satu-satunya bahasa yang bisa di olah komputer secara langsung tanpa transformasi sebelumnya (kompilasi). Saat ini, programmer hampir tidak pernah menulis program secara langsung dalam kode mesin, karena memerlukan perhatian pada banyak detail yang di tangani oleh bahasa tingkat tinggi secara otomatis.

2. Bahasa pemrograman tingkat menengah

Bahasa tingkat menengah memberikan satu tingkat abstraksi di atas kode mesin. Bahasa assembly memiliki sedikit semantik atau spesifikasi formal, karena hanya pemetaan simbol yang dapat di baca manusia. Biasanya, satu instruksi mesin di wakili sebagai satu baris kode assembly. Assembler menghasilkan file objek yang bisa dihubungkan dengan file objek lain atau dimuat sendiri.

Contoh bahasa pemrograman tingkat menengah :

  • Assembler
  • Microsoft Macro Assembler (MASM)

3. Bahasa pemrograman tingkat tinggi

Bahasa pemrograman tingkat tinggi (high level programming language) muncul pada generasi ke-3 bahasa pemrograman, saat ini bahasa pemrograman generasi ke – 5 tetap di kategorikan bahasa pemrograman tingkat tinggi meskipun sudah berkembang sangat jauh dari bahasa pemrograman tingkat tinggi semula.

Perkembangan tersebut meliputi pemrograman berorientasi obyek, pemrograman berbasis web ( di kembangkan dengan konsep cloud ), pemrograman basis data, dan masih banyak lagi termasuk pemrograman perangkat mobile yang saat ini marak di gunakan dan manpaknya akan atau tengah menjadi trend perangkat lunak.

Contoh bahasa pemrograman tingkat tinggi :

  • C++ (Turbo C++)
  • Visual Basic (non – .NET)
  • PHP (prosedural)
  • Delphi (Borland)
  • Pascal (Turbo Pascal)

4. Bahasa pemrograman tingkat Object – Oriented dan Visual / Very-High Level

Beberapa sumber mungkin akan berpendapat bahwa “bahasa pemrograman tingkat Object – Oriented dan Visual” merupakan “bahasa pemrograman tingkat tinggi”, hal tersebut memang benar karena pendekatan Object – Oriented di terapkan pada bahasa pemrograman tingkat tinggi seperti PHP atau Visual Basic .NET.

Bahasa pemrograman tingkat tinggi biasanya berupa bahasa domain yang spesifik, terbatas pada aplikasi, tujuan, atau jenis tugas yang sangat spesifik. Istilah Very High Language Level digunakan pada tahun 1990-an untuk bahasa pemrograman tingkat tinggi yang digunakan untuk skrip, seperti Perl, Python, Ruby, dan Visual Basic.

Contoh bahasa pemrograman tingkat Object-Oriented dan Visual :

  • PHP
  • Visual Basic .NET
  • Java (termasuk Java yang di gunakan pada Android Studio)
  • JSP
  • ASP

Thursday, 8 September 2022

Cyber attack


Mengenal Serangan Siber (Cyber Attack) dan Jenis Jenisnya


Serangan siber menjadi hal yang menakutkan bagi pemilik Komputer pasalnya Sistem yang kita miliki dapat dimasuki secara ilegal oleh orang tidak bertanggung jawab. Bahkan tidak hanya di Komputer disemua hal yang berhubungan dengan Teknologi, Tidak ada sistem yang aman. Kerentanan sering ada di setiap sistem tergantung kemampuan Hacker tersebut untuk mencari Celah yang ada di dalam sistem.

Seperti yang telah disebutkan diatas bahwa Cyber attack adalah upaya untuk memasuki sistem dengan cara yang ilegal dengan maksud dan tujuan untuk pencurian data hingga perusakan sistem jaringan sampai infrastruktur perangkan komputer.

Jenis-Jenis Cyber Attack

ada beberapa serangan yang dapat dengan mudah diidentifikasi hingga yang sulit untuk di deteksi, berikut ini saya akan menyampaikan beberapa serangan siber yang dapat membahayakan Komputer anda.

Ransomware

Ransomware bekerja dengan cara mengunci file-file yang dimiliki oleh korban dengan cara mengenkripsi file-file tersebut, jika ingin membuka file-file tersebut sang korban biasanya diharuskan untuk membayar tebusan berupa uang dalam jangka waktu tertentu.

yang lebih mengerikan lagi bahwa viru ini dapat menyebar melalui jaringan internet guna untuk melumpuhkan sistem target, bila sistem tersebut memiliki keamanan yang kurang maka hacker dapat dengan mudah membobol sistem tersebut dan mengunci semua inforamsi berharga milik korban.

Denial of Service (DoS)

DoS jenis serangan yang mengganggu sistem jaringan hal ini dikarenakan pada serangan Dos dilakukan dengan cara mengirim request dalam jumlah melampaui kapasitas kemampuan dari server. pengembangan dari DoS adalah DDoS yaitu Distributed DoS, merupakan bentuk Serangan DoS yang terdistribusi sehingga dapat menyebabkan Server menjadi Overload dan Down.

Backdoor Trojan

Backdoor atau pintu belakang dimana serangan ini memanfaatkan Celah tersebut yang dibuat oleh hacker dengan Trojan. melalui backdoor ini penyerang bisa mendapatkan akses penuh terhadap sistem. setalah mendapatkan akses, hackerpun bisa melakukan apapun yang mereka inginkan.

Wednesday, 7 September 2022

User Experience (UX)


 KOMPONEN PENTING DALAM USER EXPERIENCE (UX)

Dalam user experience (UX) design terdapat enam komponen penting yang harus di ketahui, yakni visual design, interaction design, information architecture, content strategy, usability dan user research. Dengan memahami keenam komponen itu, maka kita dapat menerapkan UX design dengan baik. Pada kesempatan kali ini saya kan menjelaskan Komponen yang telah disebutkan diatas agar kita bisa menerapkan UX dengan tepat.

Usability

usability adalah sejauh mana sebuah produk dapat digunakan oleh pengguna tertentu untuk mencapai tujuan tertentu secara efisien, efektif, dan pengguna menjadi puas saat menggunakan produk tersebut. usability merupakan hal pertama yang harus diperhatikan ketika menerapkan UX design saat merancang suatu aplikasi mobile ataupun website.

Dengan mengetahui usability produkmu maka kamu mengerti seberapa besar potensi saat digunakan oleh pengguna. Hal ini akan membantu kita memetakan sejauh mana produk yang akan dibuat dapat berkembang di tangan penggunannya.

Interaction design

Interaction design merupakan desain interaksi antara pengguna dengan suatu produk web ataupun mobile. Tujuan utama interaction design ialah untuk memudahkan pengguna saat menggunakan produk tanpa harus merasa kebingungan.

dalam membuat design suatu aplikasi kita harus mempertimbangkan kemungkinan-kemungkinan interaksi yang dilakukan pengguna pada suatu produk aplikasi aplikasi website atau mobile. Dengan pemetaan itu, diharapkan kamu bisa memasukkan berbagai fitur menarik yang sesuai dengan apa yang dibutuhkan oleh pengguna. Semakin sederhana pola interaksinya maka semakin baik karena kecil kemungkinan membuat pengguna merasa kebigungan saat menggunakan produk yang kita buat.

Visual Design

komponen selanjutnya yang tak kalah penting adalah visual design. pad tahap ini kita harus memberikan korelasi interaksi yang diinginkan ke dalam tampilan visual produk.

Dalam komponen ini, kita diharuskan untuk memperhatikan berbagai elemen tampilan visualnya; mulai dari garis, rupa, pilihan warna, tekstur visual, tipografi, hingga bentuk tampilan animasi ataupun visual tiga dimensinya. Masing-masing elemen itu harus bisa memberikan kenyamanan saat pengguna berinteraksi dengan produk yang diciptakan.

Information Architecture

Information Architecture (IA) merupakan komponen UX design yang tidak boleh terlupakan. IA adalah penciptaan struktur informasi dalam suatu aplikasi website ataupun mobile agar mudah dimengerti oleh penggunanya.

Sederhananya, komponen IA memudahkan pengguna ketika menggunakan produk web ataupun mobile sehingga pengguna dapat menggunakan produk itu dengan maksimal.

Content Strategy

Komponen ini sangat penting karena content strategy berfokus pada perencanaan, pembuatan, pengiriman, dan tata kelola konten suatu aplikasi website atau mobile.

Dalam aplikasi website atau mobile, seluruh bagiannya merupakan bagian dari konten. Mulai dari kata-kata yang digunakan dalam produk tersebut hingga gambar dan animasi. Tujuan dari content strategy ini adalah menciptakan konten yang bermakna, menarik, dan berkelanjutan. Dengan begitu, pengguna akan tertarik dan dapat bertahan menggunakan produk yang di buat.

User Research

Secara sederhananya, user research adalah tindakan mewawancarai pengguna prospektif atau user candidate dan pengguna aktual dari sebuah aplikasi website atau mobile untuk mendapatkan kejelasan pada sejumlah tujuan.

Dengan melakukan user research, kita bisa mengetahui kelemahan-kelemahan yang ada di dalam produk sebelum diluncurkan. Selain itu, kita bisa menguatkan potensi produk aplikasi website atau mobile sehingga tujuan pembuatan produk itu dapat tersampaikan pada penggunannya. Dengan demikian, kita bisa menjadikan aplikasi website atau mobile yang kamu buat lebih baik dari produk lainnya yang sejenis.

Tuesday, 6 September 2022

PERANCANGAN ANTARMUKA (DESIGN INTERFACE)


 PERANCANGAN ANTARMUKA (DESIGN INTERFACE)


Antarmuka pengguna (User Interface) merupakan bagian sistem komputer yang memungkinkan manusia dapat berinteraksi dengan komputer. Sedangkan untuk Perancangan antarmuka sendiri merupakan proses penggambaran  bagaimana sebuah bagian sistem dibentuk dan yang akan digunakan nantinya.

Prinsip User Interface

untuk membuat atau merancang User Interface yang baik ada beberapa hal yang harus diperhatikan, diantaranya. (Deborah, 1992) :
  1. Kompatibilitas Pengguna
  2. Kompatibilitas  Produk
  3. Kompatibilitas  Transisi Antar Tugas
  4. Konsistensi
  5. Kebiasaan
  6. Kesederhanaan
  7. Manipulasi Langsung
  8. Kontrol
  9. Efektivitas (tepat dalam penggunaan)
  10. Efisien dalam penggunaan
  11. Keamanan dalam penggunaan
  12. Kesesuaian Fungsi
  13. Mudah dipelajari
  14. Mudah diingat

Kompatibilitas  Produk

Prinsip ini Memungkinkan adanya perubahan antarmuka agar sistem menjadi lebih kompatibel bagi pengguna.

Kompatibilitas Transisi Antar Tugas

pada prinsip ini Sistem harus dapat digunakan untuk memudahkan pengguna dalam melakukan tugasnya, fungsi-fungsi dalam antarmuka disesuaikan dengan kebutuhan pengguna.

Konsistensi

yang dimaksud dengan konsistensi adalah Membantu pengguna untuk dapat menganalogikan dan memprediksi sesuatu yang sebelumnya belum pernah dilakukan.

Kesederhanaan

Merancang antarmuka dengan bentuk yang sederhana, tanpa mengurangi fungsionalitas dari sistem/produk yang dibangun.

Manipulasi Langsung

Merupakan gaya/ragam dialog dimana aksi yang dilakukan pengguna dapat langsung terlihat pada tampilan objek yang tampak pada layar monitor.
Manipulasi langsung biasanya menyertakan alat penunjuk, seperti : mouse, trackball, layar sentuh, dan menggunakan grafik dalam menampilkan objek dan aksinya.
Karakteristik yang harus diperhatikan dalam manipulasi langsung adalah bahwa meskipun pada layar tampilan banyak sekali objek yang dapat dioperasikan, tetapi pada  satu saat pengguna hanya berkuasa penuh pada sebuah objek yang ada disana.
Manipulasi langsung juga dapat diterapkan pada bidang yng lebih luas dan serius

Kontrol

Sistem selalu dibawah kontrol pengguna
Antarmuka harus mempunyai sarana yang memungkinkan pengguna untuk dapat menentukan :
  • dimana sebelumnya pengguna berada
  • dimana pengguna berada sekarang
  • kemana pengguna dapat pergi
  • apakah pekerjaan yang sudah dilakukan dapat dibatalkan.

Efektivitas (tepat dalam penggunaan)

Apakah sistem yang dibangun dapat membuat pengguna :
  • mudah untuk mempelajarinya 
  • efisien dalam melakukan pekerjaan
  • dapat mengakses informasi yang diperlukan

Efisien dalam penggunaan

Apakah sistem menyediakan fasilitas yang memudahkan pengguna dalam mengerjakan  tugasnya.

Keamanan dalam penggunaan

Untuk melindungi pengguna dalam menghadapi kondisi yang tidak diinginkan.
Salahsatu cara pengamanan, dengan membuat pesan dari aktivitas yang dilakukan pengguna.

Kesesuaian Fungsi

Fungsi-fungsi yang disediakan sistem harus sesuai dengan definisi sistem tersebut.
Contoh : Aplikasi pengolah kata, brarti aplikasi tersebut harus menyediakan seluruh fasilitas yang dibutuhkan dalam pengolahan kata, seperti pembuatan dokumen baru, sampai ke penyimpanan dokumen, dan lain-lain.

Mudah dipelajari

Sistem yang mudah digunakan adalah sistem yang mudah dipelajari dan mudah diingat.
Perancang harus mengetahui karakteristik pengguna, termasuk kemampuan dan keahlian pengguna sistem yang akan dibangun.

Mudah diingat

Mudah diingat bagaimana cara menggunakannya, sehingga perancang juga perlu memperhatikan bagaimana desain/rancangan sistem yang akan dibangun agar mudah dipelajari oleh pengguna, sehingga menjadi mudah diingat.