Pengembangan Aplikasi

Haikal Rahman

Definisi

Perangkat lunak >> aplikasi >> program atau sekelompok program yang dirancang untuk pengguna akhir. [wikipedia]

Contoh aplikasi >> pengolah kata, spreadsheet, aplikasi akuntansi, browser web, klien email, pemutar media, penampil file, simulator, permainan konsol, atau editor foto. Perangkat lunak aplikasi kata benda kolektif mengacu pada semua aplikasi secara kolektif. [1]

>> berbeda dengan sistem operasi - OS >> menjalankan komputer.

Aplikasi >>digunakan >> komputer dan perangkat lunak sistemnya >> secara terpisah >> dapat diberi kode sebagai proyek kepemilikan, sumber terbuka, atau universitas - licence >>Aplikasi yang dibuat untuk platform seluler disebut aplikasi seluler.

Terkait :

 Operating System 


Jenis Aplikasi

Sumber : NEEL NETWORKS > 

Aplikasi Desktop

Pengembangan Aplikasi >> aplikasi desktop >> mudah digunakan, efisien, dan disesuaikan yang dapat berjalan secara offline - dari browser web.

Perusahaan >> proses bisnis yang efisien dan lebih cepat, kontrol total, dan kinerja yang lebih baik >> penggunaan Rich Desktop Applications dan Rich Internet Desktop Applications >> memastikan akses data yang lebih cepat, operasi offline yang efisien dan sinkronisasi konten yang mudah.

Aplikasi desktop >> dapat diintegrasikan >> platform OS >>> Microsoft, database dan teknologi web yang menyediakan fungsi operasional yang lebih baik.

Pengembangan Aplikasi Web

aplikasi web >> aplikasi  >> pengguna >> Internet. >> terkadang dikontraskan dengan aplikasi asli >> dikembangkan secara khusus untuk platform atau perangkat tertentu dan kemudian diinstal di atasnya.

Pengembangan Aplikasi Seluler

aplikasi seluler >> berjalan di berbagai platform seluler >>> platform seluler >>sistem operasi seluler >> Platform seluler Google = Android - sistem operasi seluler Apple disebut iOS - Windows memiliki Windows mobile dan RIM > Blackberry. Masing-masing platform ini memiliki peraturan, aturan, dan persyaratan khusus untuk membuat aplikasi seluler. Misalnya , aplikasi seluler iOS memerlukan penggunaan Objective C, sedangkan aplikasi seluler Android menggunakan Java.


Pemrograman Komputer

Sumber  : Blog UNNES

Pemrograman Komputer / Bahasa Komputer >>instruksi standar untuk memerintah komputer, yang merupakan suatu himpunan dari aturan sintaks dan semantik >>programmer dapat menentukan secara persis data mana yang akan diolah oleh komputer, bagaimana data disimpan dan jenis langkah apa yang akan diambil dalam berbagai situasi

Tingkatan bahasa Pemrograman

  • Bahasa Tingkat Tinggi – Bahasa pemrograman masuk tingkat ini karena bahasa tersebut mendekati bahasa manusia. Contohnya seperti Bahasa Basic, Visual Basic, Pascal, Java, dan lainnya.
  • Bahasa Tingkat Menengah – Disebut tingkat menengah karena bisa masuk ke dalam bahasa tingkat tinggi maupun rendah. Contohnya seperti Bahasa C.
  • Bahasa Tingkat Rendah – Bahasa pemrograman tingkat ini karena bahasanya masih jauh dari bahasa manusia. Contohnya bahasa Assembly 

Jenis Bahasa Pemrograman

 Berikut adalah daftar beberapa bahasa pemrograman : 

Bahasa pemrograman C : >> memprogram sistem dan jaringan komputer namun bahasa >> sering digunakan dalam mengembangkan software aplikasi. C juga banyak dipakai oleh berbagai jenis platform sistem operasi dan arsitektur komputer, bahkan terdapat beberepa compiler yang sangat populer telah tersedia.

Bahasa pemograman JAVA : >> bahasa pemrograman yang dapat dijalankan di berbagai komputer termasuk telepon genggam. Java ≠ JavaScript >>> JavaScript adalah bahasa scripting yang digunakan oleh web browser.

Bahasa pemograman PYTHON : >> Python adalah bahasa pemrograman dinamis yang mendukung pemrograman berorientasi obyek. Python dapat digunakan untuk berbagai keperluan pengembangan perangkat lunak dan dapat berjalan di berbagai platform sistem operasi.

Bahasa pemograman RUBY : >>  bahasa skripting yang berorientasi obyek. Tujuan dari ruby adalah menggabungkan kelebihan dari semua bahasa-bahasa pemrograman scripting yang ada di dunia. Ruby ditulis dengan bahasa pemrograman C dengan kemampuan dasar sepertiPerl dan Python.

Bahasa pemograman SQL : >>(Structured Query Language) >> bahasa yang dipergunakan untuk mengakses data dalam basis data relasional. Bahasa ini secara de facto merupakan bahasa standar yang digunakan dalam manajemen basis data relasional >> hampir semua server basis data yang ada mendukung bahasa ini untuk melakukan manajemen datanya.

Bahasa pemograman ColdFusion : >> ColdFusion adalah server aplikasi dan framework pengembangan perangkat lunak yang digunakan untuk pengembangkan perangkat lunak komputer, khususnya situs webdinamis.

Bahasa pemograman PHP : PHP (Personal Home Page/ Hypertext Preprocessor >> bahasa pemrograman script yang paling banyak dipakai saat ini >>PHP pertama kali dibuat >> Rasmus Lerdorf pada tahun 1995. Pada waktu itu PHP masih bernama FI (Form Interpreted), yang wujudnya berupa sekumpulan script yang digunakan untuk mengolah data form dari web.

Bahasa pemograman HTML : >> HyperText Markup Language (HTML) >> bahasa markup yang digunakan untuk membuat sebuah halaman web dan menampilkan berbagai informasi di dalam sebuah browser Internet.

Bahasa pemograman COBOL : COBOL (singkatan dari Common Business Oriented Language) adalah sebuah bahasa pemrograman generasi ketiga. Sesuai dengan namanya, maka bahasa COBOL mempunyai fungsi menyelesaikan masalah-masalah yang berhubungan dengan perdagangan, seperti sistem pengelolaan keuangan, laporan pengeluaran sebuah perusahaan dan lain-lain.

Bahasa pemograman MICROSOFT VISUAL BASIC : >> sebagai VB saja >> bahasa pemrograman yang menawarkan Integrated Development Environment (IDE) visual untuk membuat program perangkat lunak berbasis sistem operasi Microsoft Windows dengan menggunakan model pemrograman (COM)>>Visual Basic merupakan turunan bahasa pemrograman BASIC dan menawarkan pengembangan perangkat lunak komputerberbasis grafik dengan cepat.

Bahasa pemograman VISUAL C++ : >>Integrated Development Environment (IDE) untukbahasa pemrograman C dan C++ yang dikembangkan Microsoft. Visual C++ merupakan salah satu bagian dari paket Microsoft Visual Studio.

Bahasa pemograman DELPHI : >> lebih banyak digunakan untuk pengembangan aplikasi desktop danenterprise berbasis database, tapi sebagai perangkat pengembangan yang bersifat general-purpose ia juga mampu dan digunakan dalam berbagai jenis proyek pengembangan software.

Bahasa pemograman C++ : >>  memiliki sifat Pemrograman berorientasi objek, Untuk menyelesaikan masalah, C++ melakukan langkah pertama dengan menjelaskan class-class yang merupakan anak class yang dibuat sebelumnya sebagai abstraksi dari object-object fisik, Class tersebut berisi keadaan object, anggota-anggotanya dan kemampuan dari objectnya, Setelah beberapa Class dibuat kemudian masalah dipecahkan dengan Class.

Bahasa Pemrograman ASP :>> Active Server Pages yang merupakan salah satu bahasa pemograman web untuk menciptakan halaman web yang dinamis. ASP merupakan salah satu produk teknologi yang disediakan oleh Microsoft. ASP bekerja pada web server dan merupakan server side scripting.

Bahasa Pemrograman XML : >> Extensible Markup Language (XML) >> bahasa markup serbaguna yang direkomendasikan W3C untuk mendeskripsikan berbagai macam data. XML menggunakan markup tags seperti halnya HTML namun penggunaannya tidak terbatas pada tampilan halaman web saja >> XML merupakan suatu metode >>penanda/markup pada sebuah dokumen.

Bahasa Pemrograman WML : >> Wireless Markup Language >> digunakan dalam aplikasi berbasis XML (eXtensible Markup Langauge). WML >> pemrograman yang digunakan dalam aplikasi wireless. WML merupakan analogi dari HTML yang berjalan pada protocol nirkabel.

Bahasa Pemrograman PERL : >>  untuk mesin dengan sistem operasi Unix (SunOS, Linux, BSD, HP-UX), juga tersedia untuk sistem operasi seperti DOS, Windows, PowerPC, BeOS, VMS, EBCDIC, dan PocketPC >>> PERL merupakan bahasa pemograman yang mirip bahasa pemograman C.

Bahasa Pemrograman CFM : >>Cfm dibuat menggunakan tag ColdFusion dengan software Adobe ColdFusion / BlueDragon / Coldfusion Studio. Syntax coldfusion berbasis html.

Bahasa Pemrograman Javascript : >>  bahasa scripting yang handal yang berjalan pada sisi client >>> JavaScript merupakan sebuah bahasa scripting yang dikembangkan oleh Netscape. Untuk menjalankan script yang ditulis dengan JavaScript kita membutuhkan JavaScript-enabled browser yaitu browser yang mampu menjalankan JavaScript.

Bahasa Pemrograman CSS : >> Cascading Style Sheets >> bahasa stylesheet yang digunakan untuk mengatur tampilan suatu dokumen yang ditulis dalam bahasa markup >> Penggunaan yang paling umum dari CSS adalah untuk memformat halaman web yang ditulis dengan HTML dan XHTML. Walaupun demikian, bahasanya sendiri dapat dipergunakan untuk semua jenis dokumen XML termasuk SVG dan XUL. Spesifikasi CSS diatur oleh World Wide Web Consortium (W3C).


Programmer vs Developer [StaffLink]

Programmer

>> menulis kode, menguji, dan memperbaiki bug >> mengubah desain menjadi instruksi yang dapat diikuti oleh komputer >> Instruksi ini dikodekan menggunakan >> bahasa pemrograman >> Java, C #, PHP, Oracle, SQL Server, JavaScript, dll.

>> fokus pada satu jenis pemrograman. Pemrogram umum menulis kode untuk berbagai jenis perangkat lunak >> Biasanya, programmer bekerja dalam kelompok atau tim di bawah programmer senior (pemimpin tim) yang mengawasi pekerjaan mereka.

Tipe Programmer

  • Application programmers: menulis program untuk tugas tertentu misalnya. program untuk melacak inventaris di pabrik
  • System programmers: menulis program untuk memelihara perangkat lunak sistem komputer misalnya. sistem operasi, sistem manajemen basis data
  • AI/Machine Learning Engineers
  • Game programmers
  • Mobile developers 

Developer 

>> software engineers >> Developers >> Software Engineers juga  programmer >> pekerjaan >> menulis kode >> tetapi mereka juga berkontribusi pada banyak aspek lain dari proses pengembangan perangkat lunak.

Tugas Developer >>

  • software design
  • development
  • research
  • writing documentation and specs
  • maintenance
  • testing software
  • core implementation
  • analysis

Developer >> aplikasi web >> Web Developer[Makers Institute]

Tipe Developer

Front-End >> front-end dari sebuah website adalah bagian yang langsung dilihat oleh user >> User >>berinteraksi pada bagian ini >> dibangun menggunakan >>  framework, IDE, Javascript dll

Back-End  >> bagian belakang layar >> website. Bahasa pemograman untuk back-end development diantaranya adalah PHP, Ruby, Python, dan banyak lainnya.

Full-Stack >>  bekerja pada >> front-end dan back-end. Mereka menguasai HTML, CSS, JavaScript, dan satu atau lebih bahasa pemograman back-end.

Bagian >> menarik >> web development >> sifatnya yang terus berkembang. >> apa dimaksud sebagai “front-end” atau “back-end” pada saat ini >> bisa saja akan berubah secara drastis dalam beberapa tahun ke depan. Mempelajari keduanya>> lebih mempunyai nilai + >> beradaptasi >> orientasi masa depan


IDE - integrated development environment[redhat]

IDE >> perangkat lunak untuk membangun aplikasi yang menggabungkan alat pengembang umum >> antarmuka pengguna grafis (GUI). IDE biasanya terdiri dari:

  • Source code editor >>Editor teks yang dapat membantu dalam menulis kode perangkat lunak dengan fitur-fitur seperti penyorotan sintaks dengan isyarat visual, menyediakan pelengkapan otomatis khusus bahasa, dan memeriksa bug saat kode sedang ditulis.
  • Local build automation >>Utilitas yang mengotomatiskan tugas sederhana dan berulang sebagai bagian dari pembuatan build lokal perangkat lunak untuk digunakan oleh pengembang, seperti menyusun kode sumber komputer menjadi kode biner, mengemas kode biner, dan menjalankan pengujian otomatis.
  • Debugger >> Program untuk menguji program lain yang secara grafis dapat menampilkan lokasi bug dalam sourcecode asli

RAD - Rapid Application Development[Capterra]

Rapid Application Development (RAD) >> metodologi pengembangan perangkat lunak >>yang memprioritaskan rilis dan iterasi prototipe cepat. >> RAD menekankan penggunaan perangkat lunak dan umpan balik pengguna atas perencanaan pengembangan

Beberapa manfaat dan keunggulan RAD adalah:

  • Fleksibilitas dan kemampuan beradaptasi yang ditingkatkan karena pengembang dapat membuat penyesuaian dengan cepat selama proses pengembangan.
  • Iterasi cepat yang mengurangi waktu pengembangan dan mempercepat pengiriman.
  • Mendorong penggunaan ulang kode, yang berarti lebih sedikit pengkodean manual, lebih sedikit ruang untuk kesalahan, dan waktu pengujian yang lebih singkat.
  • Lebih sedikit kejutan, tidak seperti>> Waterfall method, RAD >> menyertakan integrasi di awal proses pengembangan perangkat lunak.

Low-Code Development

Low-code >>platform pendekatan visual >>pengembangan perangkat lunak. >> mengotomatiskan setiap langkah >> pengembangan aplikasi >> memungkinkan pengiriman cepat berbagai solusi perangkat lunak[mendix]

Zero Code

zero-code >> platform memungkinkan >> membuat aplikasi sendiri >> tanpa perlu tim IT >>  menghilangkan hambatan penting dan mengurangi ketergantungan >> tim IT >>Aplikasi otomatis, berfungsi penuh, dan dapat diedit secara realtime.[kissflow]


Framework vs Library vs IDE vs API vs SDK vs Toolkit[stack]

IDE  >> sebuah lingkungan pengembangan terintegrasi - editor teks suped-up dengan dukungan tambahan untuk mengembangkan (seperti bentuk desainer, editor sumber daya, dll), kompilasi dan debugging aplikasi. misalnya Eclipse, Visual Studio.

Library >>  adalah serangkaian kode yang Anda dapat panggilan dari kode Anda sendiri, untuk membantu Anda melakukan hal-hal lebih cepat / mudah. Misalnya, pustaka Pemrosesan Bitmap akan menyediakan fasilitas untuk memuat dan memanipulasi gambar bitmap, sehingga Anda tidak perlu menulis sendiri semua kode itu. Biasanya perpustakaan hanya akan menawarkan satu area fungsionalitas (pemrosesan gambar atau operasi pada file zip)

API >> (application programming interface) adalah istilah yang berarti fungsi / metode dalam perpustakaan yang dapat Anda hubungi untuk meminta untuk melakukan hal-hal untuk Anda - antarmuka ke perpustakaan.

SDK >> (software development kit) adalah sebuah perpustakaan atau kelompok perpustakaan (sering dengan aplikasi alat tambahan, file data dan contoh kode) yang membantu Anda dalam mengembangkan kode yang menggunakan sistem tertentu (misalnya kode ekstensi untuk menggunakan fitur dari sistem operasi ( Windows SDK), menggambar grafik 3D melalui sistem tertentu (DirectX SDK), menulis peralatan tambahan untuk memperluas aplikasi lain (Office SDK), atau menulis kode untuk membuat perangkat seperti Arduino atau ponsel melakukan apa yang Anda inginkan). SDK biasanya masih memiliki fokus tunggal.

toolkit >> adalah seperti SDK - itu adalah kelompok alat (dan sering perpustakaan code) yang dapat Anda gunakan untuk membuatnya lebih mudah untuk mengakses perangkat atau sistem ... Meskipun mungkin dengan lebih fokus pada penyediaan alat dan aplikasi dari pada kode perpustakaan hanya .

FrameWork >> adalah Library besar atau kelompok Library yang menyediakan berbagai layanan (bukan mungkin hanya satu kemampuan difokuskan karena kebanyakan Library / SDK lakukan). Sebagai contoh, .NET menyediakan kerangka kerja aplikasi - membuatnya lebih mudah untuk menggunakan sebagian besar (jika tidak semua) layanan berbeda yang Anda butuhkan (misalnya Windows, grafik, percetakan, komunikasi, dll) untuk menulis berbagai macam aplikasi - jadi satu. "Library " menyediakan dukungan untuk hampir semua yang perlu Anda lakukan. Seringkali kerangka kerja menyediakan basis lengkap di mana Anda membangun kode Anda sendiri, daripada Anda membangun aplikasi yang menggunakan kode perpustakaan untuk melakukan bagian-bagian pekerjaannya.


UI vs UX[usertesting]

User Interfaface

User Interface >>(UI) >> segala sesuatu yang berinteraksi dengan pengguna >> menggunakan produk atau layanan digital. >> mencakup >> mulai dari layar dan layar sentuh, keyboard, suara dll

>> tahun 1970-an >> user >> menggunakan komputer >> menggunakan antarmuka baris perintah (CLI)

>> 1980-an >> antarmuka pengguna grafis (GUI) pertama dikembangkan >> ilmuwan komputer di Xerox PARC >>inovasi >> pengguna >> dapat berinteraksi dengan komputer >> dengan mengirimkan perintah secara visual melalui ikon, tombol, menu, dan kotak centang.

first graphical user interface (GUI)

>> Pergeseran teknologi >> siapa pun dapat menggunakan komputer >> tidak perlu pengkodean

>> tahun 1984 Apple Computer merilis komputer pribadi Macintosh >> mouse titik dan klik.  Macintosh >> komputer rumahan pertama yang sukses secara komersial yang menggunakan jenis antarmuka ini.

Aksesibilitas dan prevalensi komputer pribadi — dan kantor — >> antarmuka perlu dirancang dengan mempertimbangkan >> pengguna >>lahirlah desainer UI.

>> teknologi yang berkembang >>peran perancang UI >>berkembang >> sistem, preferensi, harapan, dan aksesibilitas >> perangkat.

Saat ini UI designer bekerja tidak hanya >> antarmuka komputer >>tetapi juga telepon seluler augmented reality dan virtual reality, dan bahkan antarmuka "tak terlihat" atau tanpa layar (juga disebut sebagai UI nol) seperti suara, gerakan, dan cahaya.

UI designer >> memiliki peluang yang hampir tidak terbatas >> bekerja >> situs web, aplikasi seluler, teknologi yang dapat dikenakan, dan perangkat rumah pintar >> Selama komputer terus menjadi bagian dari kehidupan sehari-hari, akan ada kebutuhan untuk membuat antarmuka yang memungkinkan pengguna dari segala usia, latar belakang, dan pengalaman teknis dapat menggunakan secara efektif.

User Experience

UX >> berkembang >> peningkatan UI >>sesuatu untuk berinteraksi dengan pengguna, pengalaman mereka, baik positif, negatif, atau netral, mengubah perasaan pengguna tentang interaksi tersebut.

definisi >> mencakup setiap kemungkinan interaksi yang dapat dilakukan >> dengan produk atau layanan — bukan hanya pengalaman digital. >> profesional UX >> memilih untuk menyebut >> pengalaman pelanggan lapangan

>> Peter Moreville mengembangkan visual >> untuk menyoroti apa yang menjadi desain UX yang efektif.

Source: Peter Moreville

Source: Peter Moreville

Info grafis ☝️ >>menjadi dasar >> >> para profesional UX >>memandu >> di berbagai titik kontak dengan pengguna, termasuk:

  1. Bagaimana user >>akan menemukan produk
  2. Urutan tindakan >>  user >> lakukan saat berinteraksi dengan antarmuka
  3. Pikiran dan perasaan yang muncul saat >> berinteraksi
  4. Kesan >> dari interaksi secara keseluruhan

Desainer UX >> bertanggung jawab >> memastikan >>memberikan produk atau layanan yang memenuhi kebutuhan pelanggan dan memungkinkan >>mencapai hasil yang diinginkan dengan mulus.

Desainer UX bekerja sama >> desainer UI, peneliti UX, pemasar, dan tim produk >> memahami penggunanya melalui penelitian dan eksperimen. Mereka menggunakan wawasan yang diperoleh untuk terus mengulangi dan meningkatkan pengalaman, berdasarkan penelitian pengguna kuantitatif dan kualitatif


Static vs Dynamic Website[javatpoint]

Static >> jenis website >>  mudah dibuat >> tidak memerlukan pengetahuan >> pemrograman web dan desain database untuk membuat situs web statis. Halaman webnya dikodekan dalam HTML + CSS plus javascript

Situs Web Servlet2

Dynamic >> jenis  website >> isinya berubah secara dinamis >>mengakses konten dari database >> Sistem Manajemen Konten (CMS). >>mengubah atau memperbarui data >>konten situs web juga diubah atau diperbarui.

>> menggunakan skrip sisi klien atau skrip sisi server, atau keduanya untuk menghasilkan konten dinamis.

Situs Web Servlet3



Static WebsiteDynamic Website
>> menggunakan kode HTML untuk mengembangkan situs web.>> bahasa sisi server seperti PHP, SERVLET, JSP, dan ASP.NET dll untuk mengembangkan situs web.
>> mengirimkan respons yang persis sama untuk setiap permintaan.>> mungkin menghasilkan HTML yang berbeda untuk setiap permintaan.
Konten hanya diubah ketika >> menerbitkan dan memperbarui file (mengirimkannya ke server web).Halaman tersebut berisi kode "sisi server" yang memungkinkan server untuk menghasilkan konten unik saat halaman dimuat.
Fleksibilitas adalah keunggulan utama situs web statis.Sistem Manajemen Konten (CMS) adalah keunggulan utama dari situs web dinamis.

 

Haikal Rahman
Bisnis Digital - FE Unimed
Komentar