Wednesday, March 27, 2024

Tugas 4 - Aplikasi Dice Roller Menggunakan Interaksi Button

 Nama     : Florentino Benedictus

NRP       : 5025201222

Tahun    : 2024

Kelas      : Pemrograman Perangkat Bergerak I

Link Implementasi      :  MainActivity.kt & strings.xml


Tugas 4 - Aplikasi Dice Roller Menggunakan Interaksi Button

Pada tugas ini, dibuat aplikasi Dice Roller yaitu aplikasi yang memungkinkan user melempar dadu dengan menggunakan composable Button. Berikut adalah tahapan pembuatannya menggunakan referensi dari tutorial Codelab Android - Membuat Aplikasi Dice Roller Interaktif:

1. Inisiasi Proyek
Pertama-tama buka aplikasi Android Studio lalu pilih New Project -> Empty Activity. Kemudian ubah nama activity menjadi "Dice Roller" dan menggunakan level API minimum 24 sesuai tutorial, lalu pilih Finish. Lalu tunggu beberapa saat sampai Android Studio selesai loading proyek. Untuk kemudahan maka digunakan virtual device Pixel 7 Pro yang telah dibuat sebelumnya.

2. Ubah Template Default
Hapus composable Greeting yang merupakan composable default ketika project diinisiasi, kemudian tambahkan composable DiceRollerApp() dan DiceWithButtonAndImage() dan ubah isi fungsi onCreate sehingga memanggil DiceRollerApp(). Kemudian panggil DiceWithButtonAndImage() di dalam fungsi composable DiceRollerApp(). Kemudian tambahkan juga Modifier untuk menyesuaikan posisi pada sizenya.

3. Menambahkan Composable Column
Karena pada hasil akhir aplikasi akan memiliki dadu dan button, maka perlu digunakan fungsi composable Column agar dadu dan button dapat diposisikan secara vertikal. Selain itu jangan lupa untuk mengimport package-package yang diperlukan.

4. Menambahkan Button
Selanjutnya, tambahkan resource string pada path app/res/values/strings.xml yang nantinya akan digunakan untuk teks pada button yang dibuat.
Lalu buat objek Button pada DiceWithButtonAndImage dan gunakan resource string yang didefinisikan sebelumnya, sehingga terlihat preview telah menampilkan buttonnya.

5. Menambahkan Image Dadu
Untuk menambahkan gambar dadu, maka dapat digunakan Composable Image. Caranya adalah dengan mengimport dari dice_images.zip yang berisi gambar 6 sisi dadu. Kemudian pilih View -> Tool Windows -> Resource Manager untuk mengimport gambar-gambar tersebut.
Selanjutnya, pilih Import Drawables, lalu pilih folder yang berisi gambar dadu tersebut.
Terlihat bahwa gambar-gambar tersebut telah terimport dan berada pada path app/res/drawable. Gambar-gambar tersebut dapat dipanggil menggunakan R.drawable.<nama>.
Karena nantinya sisi dadu yang ditampilkan harus sesuai dengan hasil yang didapat user, maka dibuat variabel result untuk menyimpan hasil user (diberi nilai default 1), Kemudian buat variabel ImageResource yang akan menentukan resource gambar dadu yang akan di-import dengan mengecek nilai variabel result untuk menentukan gambar mana yang akan digunakan.
Selanjutnya tambahkan composable Image untuk menampilkan resource gambar dan gunakan painterResource untuk mengimport dari ID gambar sesuai dengan variabel imageResources. (best practice) Tambahkan juga contentDescription yang menjelaskan UI element untuk mempermudah orang lain memahami maksud code yang dibuat. Kemudian tambahkan composable Spacer untuk memberi jarak antara gambar dadu dengan button sesuai kebutuhan.

6. Tambahkan Logika Pelemparan Dadu
Selanjutnya, untuk membuat fungsi pelemparan dadu maka dapat dilakukan dengan cara generate nilai variabel result secara random dari 1 sampai 6 ketika button "Lempar" ditekan user, sehingga dapat digunakan fungsi random() yang akan dipanggil untuk mengubah nilai result ketika Button "Lempar" ditekan.
Kemudian, agar nilai variabel result dapat secara aktif disesuaikan, maka perlu menggunakan remember dan mutableStateOf (dengan nilai default 1 juga).
Lalu import juga `import androidx.compose.runtime.getValue` dan `import androidx.compose.runtime.setValue` secara manual.

7. Jalankan Aplikasi
Selanjutnya, Run App untuk menjalankan aplikasi pada device virtual/fisik yang dipilih, berikut adalah tampilan awalnya:
Ketika button "Lempar" ditekan, maka gambar dadu yang ditampilkan akan berubah sesuai dengan nilai random yang didapat.

Berikut adalah code programnya:
MainActivity.kt:

app/res/values/strings.xml:



Wednesday, March 20, 2024

Tugas 3 - Aplikasi Selamat Ulang Tahun

Nama     : Florentino Benedictus

NRP       : 5025201222

Tahun    : 2024

Kelas      : Pemrograman Perangkat Bergerak I

Link Implementasi      : Link Github


Tugas 3 - Aplikasi Selamat Ulang Tahun

Pada tugas ini, dibuat aplikasi sederhana yang dapat menampilkan ucapan selamat ulang tahun di layar. Hal ini dapat dilakukan dengan Jetpack Compose menggunakan fungsi composable seperti Text, Column, dan Row. Berikut adalah tahapan pembuatannya menggunakan referensi dari tutorial Codelab Android - Membangun Aplikasi Sederhana Dengan Composable Teks:

1. Inisiasi Proyek

Pertama-tama buka aplikasi Android Studio lalu pilih New Project -> Empty Activity. Kemudian ubah nama activity menjadi "Happy Birthday" dan menggunakan level API minimum 24 sesuai tutorial, lalu pilih Finish. Lalu tunggu beberapa saat sampai Android Studio selesai loading proyek. Untuk kemudahan maka digunakan virtual device Pixel 7 Pro yang sama dengan minggu lalu.

2. Menampilkan Desain/Preview
Kemudian, ubah nama fungsi pada line 42 kode default menjadi "BirthdayCardPreview", yaitu menyesuaikan dengan aturan penamaan Fungsi Compose (berupa kata benda dan sesuai kegunaan).
Lalu pilih split pada bagian kanan atas MainActivity.kt sehingga dapat menampilkan kode program sekaligus preview desainnya.
Ketika variabel "Android" pada kode program diubah, maka tab design akan terupdate dengan sendirinya. Perlu diingat bahwa karena hanya berupa fungsi @Preview, maka hasil hanya dapat ditampilkan pada tab desain.
Selanjutnya, ubah fungsi bawaan Greeting (line 32) menjadi fungsi GreetingText, lalu comment juga pemanggilan fungsi Greeting di fungsi onCreate dan sesuaikan pemanggilan nama dan isi fungsi GreetingText pada fungsi preview BirthdayCardPreview.

3. Ubah Ukuran dan Alignment Teks
Ukuran teks juga dapat diubah, cara adalah dengan menambahkan import androidx.compose.ui.unit.sp pada bagian atas untuk dapat menggunakan satuan ukuran sp (Scalable Pixel) yang digunakan untuk mengatur ukuran teks. Sedangkan alignment teks diubah dengan mengimport import androidx.compose.ui.text.style.TextAlign . Library-library yang diperlukan dapat diimport secara otomatis dengan menghover pada teks berwarna merah (tidak dapat digunakan karena library belum di-import) lalu klik import.
Sehingga ketika composable Text ditambahkan atribut seperti fontSize, lineHeight, dan textAlign, programmer dapat menentukan karakteristik teks yang ingin digunakan pada UI aplikasinya.

4. Ubah Hierarki UI dan Menambahkan Elemen Teks

Fungsi composable dapat memiliki struktur yang terdiri dari banyak composable elemen Text, beberapa diantaranya adalah Row dan Column. Karena aplikasi akan dibuat untuk membuat ucapan selamat ulang tahun, maka dapat digunakan Column sehingga elemen-elemen Text yang berada di dalamnya akan memiliki bentuk seperti kolom.
Kemudian, ubah fungsi GreetingText agar menerima parameter tambahan yaitu from, yang akan digunakan untuk nama pengirim ucapan selamat ulang tahun. Tambahkan juga argumen nama pemberi ucapan pada BirthdayCardPreview.

5. Panggil Fungsi Composable Pada onCreate
Selanjutnya, panggil fungsi GreetingText pada onCreate beserta argumen yang diperlukan, kemudian run app menggunakan device yang diinginkan. Maka akan terlihat hasil akhir pada Android di sebelah kanan.

6. Modifikasi Tambahan

Lakukan modifikasi terhadap posisi Column, warna teks dan background sesuai dengan kebutuhan menggunakan modifier maupun attribut tambahan. Berikut adalah tampilan hasil akhir dan codenya: 


MainActivity.kt:



Referensi

https://developer.android.com/codelabs/basic-android-kotlin-compose-text-composables?hl=id#0
https://developer.android.com/jetpack/compose/text/style-text
https://developer.android.com/jetpack/compose/text/style-paragraph

Wednesday, March 13, 2024

Tugas 2 - Inisiasi Android Studio dan Jetpack Compose

Nama     : Florentino Benedictus
NRP       : 5025201222
Kelas      : Pemrograman Perangkat Bergerak I


Tugas 2 - Inisiasi Android Studio dan Jetpack Compose

Logo Android Studio (Sumber: https://developer.android.com/studio)

Android Studio merupakan IDE (Integrated Development Environment) resmi untuk pengembangan aplikasi berbasis Android. Android Studio dapat di-install pada berbagai sistem operasi 64-bit seperti Windows, Mac, Linux, dan ChromeOS. Android Studio diluncurkan pada tahun 2013 sebagai pengganti dari IDE aplikasi Android sebelumnya yaitu Eclipse Android Development Tools.

Logo Jetpack Compose (Sumber: https://developer.android.com/jetpack/compose)

Jetpack Compose merupakan salah satu toolkit untuk membuat native User Interface (UI) untuk android yang berfungsi untuk mempermudah dan mempercepat pengembangan antarmuka proyek/aplikasi berbasis Android. Jetpack Compose diluncurkan pada tahun 2019 dan menggunakan bahasa pemrograman Kotlin. JetPack Compose dapat digunakan pada aplikasi Android Studio, berikut adalah langkah-langkah untuk membuat proyek aplikasi Android sederhana:


1. Instalasi Android Studio
Pertama-tama, download installer Android Studio dari https://developer.android.com/studio, kemudian lakukan instalasi pada perangkat yang digunakan. Untuk mengetahui kriteria minimum perangkat yang diperlukan untuk menginstall Android Studio dapat dilihat pada halaman ini
* Note: Proses instalasi Android Studio dan inisiasi proyek Jetpack Compose memerlukan koneksi internet karena pada beberapa proses Android Studio akan mendownload beberapa modul yang diperlukan untuk menjalankan program.

2. Create Project
Selanjutnya, buka aplikasi Android Studio, maka akan terdapat tampilan sebagai berikut:
Kemudian pilih New Project dan pada template Phone and Tablet, pilih Empty Activity yang memiliki logo Jetpack Compose seperti gambar di bawah ini:
Lalu beri nama proyek yang ingin dibuat, pada contoh ini digunakan nama basic-layout. Selain itu juga terdapat opsi lain yang dapat diubah seperti lokasi path proyek dan Minimum SDK untuk menentukan versi Android minimum yang disupport, dan sebagainya. Jika seluruhnya sudah sesuai klik Finish
Selanjutnya, Android Studio akan mendownload beberapa modul yang diperlukan untuk proyek secara otomatis. Ketika modul yang diperlukan sudah terinstall, maka akan terdapat tampilan awal proyek Jetpack Compose seperti di bawah ini.

3. Create Device
Agar dapat melihat tampilan dan menjalankan program yang dibuat, maka perlu ditentukan device yang ingin dilihat tampilannya terlebih dahulu. Caranya adalah dengan memilih Device Manager pada bagian kanan atas.
Android Studio mendukung 2 jenis device yaitu virtual (dibuat di dalam IDE Android Studio) atau Physical (menghubungkan device mobile asli lewat Wi-Fi atau kabel USB). Pada contoh ini akan dibuat virtual device, caranya adalah dengan klik Create Device pada tampilan di bawah ini:
Kemudian, akan ditampilkan berbagai jenis perangkat mobile yang dapat dipilih, sebagai contoh Pixel Pro 7, lalu klik Next.
Selanjutnya, (download dan) pilih system image yang ingin digunakan (pada contoh ini akan menggunakan API 34), lalu klik Next dan pilih nama Android Virtual Device yang diinginkan dan klik Finish.

4. Menjalankan Program
Selanjutnya, pastikan versi Compile SDK yang digunakan sudah sesuai melalui File -> Project Structure -> Modules
Jika versi SDK sudah sesuai dan sudah memiliki perangkat, maka klik Run App di bagian kanan atas
Maka akan terlihat tampilan default pada device yang dipilih
5. Modifikasi Program
Program default dapat dimodifikasi sesuai kebutuhan, caranya adalah dengan mengubah isi file-file yang berada pada directory proyek (app) seperti MainActivity.kt. Sebagai contoh pesan greeting "Hello Android!" dapat diubah dengan cara mengubah variabel $name yang dipassing ke fungsi Greeting(). Selanjutnya save file yang telah diubah dan run ulang app.
Terlihat bahwa tulisan yang ditampilkan sudah terubah.

Wednesday, March 6, 2024

PPB I - Tugas 1

Nama     : Florentino Benedictus
NRP       : 5025201222
Kelas      : Pemrograman Perangkat Bergerak I


A. Sejarah Mobile Phone


Mobile phone merupakan perangkat nirkabel yang berukuran segenggaman tangan sehingga memungkinkan untuk dibawa ke tempat lain. Telah terjadi pengembangan dari masa ke masa baik dari sisi perangkat keras, perangkat lunak, dan jaringan sehingga menjadi ponsel pintar (smartphone) modern yang kita kenal saat ini.

Evolusi Mobile Phone
(Sumber: englishhimki.livejournal.com)

1. Pra-1973
Sejarah mobile phone dapat ditelusuri kembali mulai dari akhir abad ke-19, dimana telepon mulai dikembangkan oleh beberapa orang seperti Alexander Graham Bell, Antonio Meucci, dan Elisha Gray, sampai pada tahun 1973 dimana Alexander Graham Bell mendapatkan paten atas penemuan telepon. Namun, telepon memiliki keterbatasan yang mendasar yaitu memerlukan kabel agar dapat berfungsi. Hal ini menyebabkan penemu berlomba-lomba untuk menciptakan telepon nirkabel. Pada tahun 1908, Albert Jahnke dari Oakland Transcontinental Aerial Telephone and Power Company mendapatkan paten untuk telepon nirkabel, tetapi telepon nirkabel yang ditemukan gagal berfungsi sehingga tidak berhasil dipasarkan. Pada tahun 1917, penemu asal Finlandia bernama Eric Tigerstedt berhasil mendapatkan paten atas telepon lipat genggam dengan mikrofon karbon. Pada tahun 1918, Jerman mulai menguji coba telepon nirkabel pada rute kereta Berlin-Zossen dan pada periode 1924-1926, telepon nirkabel berhasil dirilis ke publik dan dipasang pada rute kereta Berlin-Hamburg.
Telepon Pertama Alexander Graham Bell
(Sumber: www.loc.gov)

Pada tahun 1940an di awal Perang Dunia 2, radio pemancar seukuran genggaman tangan berhasil ditemukan, sehingga perusahaan telepon menggunakan teknologi tersebut untuk mengembangkan telepon nirkabel pada mobil di tahun-tahun tersebut. Akan tetapi, produk tersebut kurang populer akibat ketidakstabilan performa, biaya besar, dan isu keamanan yang dimilikinya. Pada 1949, perusahaan AT&T menyediakan layanan MTS (Mobile Telephone Service), akan tetapi produk ini juga kurang populer akibat biaya yang besar, keterbatasan saluran, dan perangkat yang terlalu berat sehingga produk ini dikembangkan menjadi IMTS (Improved Mobile Telephone Service) yang memiliki lebih banyak saluran dan perangkat yang lebih ringan, produk ini menjadi sangat populer.

2. 1973-1978: Penemuan Mobile Phone dan Jaringan 0G
Pada 17 Oktober 1973, Martin Cooper dari Motorola berhasil menemukan prototipe telepon genggam yang mampu melakukan panggilan telepon. Telepon ini memiliki berat sekitar 1.1kg, panjang 23cm, berbentuk seperti batu bata, dan menggunakan sinyal analog yang diberi nama jaringan 0G. Hal ini menyebabkan Martin Cooper dikenal sebagai bapak telepon seluler.
Martin Cooper dan Telepon Genggam Pertama
(Sumber: www.cellphonedeal.com)

3. 1979-1990: Jaringan 1G
Pada tahun 1979, Jepang merilis jaringan 1G (First Generation) yang juga menggunakan sinyal analog sehingga memungkinkan mobile phone untuk dijual dalam skala besar. Jaringan 1G juga berhasil dirilis pada beberapa negara seperti Norwegia (1981), Finlandia (1981), Denmark (1981), Swedia (1981), dan Amerika Serikat (1983). Pada tahun 1983, Martin Cooper dan timnya di Motorola merilis DynaTac yang merupakan pengembangan dari prototipe sebelumnya ke pasar. DynaTac menggunakan jaringan 1G dan memiliki harga sekitar $4000. Pada tahun 1989, Motorola merilis MicroTac yang berukuran lebih kecil sehingga muat untuk dimasukkan ke dalam kantong.
Gambar MicroTac
(Sumber: www.cellphonedeal.com)

4. 1991-2000: Jaringan 2G
Jaringan 2G, atau dikenal dengan nama GSM (Global Standard for Mobile Communications), merupakan jaringan yang berbeda dari generasi-generasi sebelumnya karena menggunakan sinyal digital. Sinyal digital memungkinkan enkripsi data, data signal, dan jumlah pengguna yang lebih besar karena memungkinkan penggunaan seluruh gelombang radio. Jaringan 2G berhasil dirilis pertama kali di Finlandia, pada tahun 1991. Pada tahun yang sama baterai lithium-ion juga dirilis. Baterai lithium-ion memiliki keunggulan yaitu waktu pengisian dayanya lebih cepat dan memiliki kapasitas yang lebih tinggi dibanding pendahulunya. Pada tahun 1992 SMS (Short Messaging Service) ditemukan, hal ini memungkinkan pengiriman data signal untuk berkirim pesan teks. Pada tahun-tahun berikutnya terdapat berbagai pengembangan fitur mobile phone seperti emoticon (1999), QWERTY keyboard Blackberry (1999), kamera (1999), dan akses internet (1999). Pada periode ini ukuran mobile phone juga semakin mengecil, dan Nokia berhasil merilis Nokia 3310 pada tahun 2000. Nokia 3310 merupakan salah satu mobile phone paling sukses sepanjang masa akibat ukuran dan build quality nya. Selain itu, pada tahun 1998-2000 berhasil dirilis Siemens S10 yaitu mobile phone pertama yang memiliki layar berwarna. 
Baterai Lithium-Ion
(Sumber: ul.org)

5. 2001-2008: Jaringan 3G dan Era Smartphone
3G merupakan jaringan generasi berikutnya yang dirilis pada tahun 2001. 3G memiliki keunggulan yaitu kecepatan transfer data yang lebih tinggi sehingga memungkinkan penggunaan akses internet dan fitur lain seperti SMS secara bersamaan tanpa mengalami penurunan performa. Selain itu, 3G juga memiliki keamanan data teks dan suara yang lebih tinggi. Pada awalnya paket data 3G mahal dan tidak banyak device yang mensupport 3G tetapi seiring waktu 3G menjadi populer. Pada era ini, mobile phone telah memiliki berbagai fitur media seperti video, kamera, ringtone, dan internet. Pada tahun 2003-2005, Android yang merupakan sistem operasi berbasis Linux untuk mobile phone mulai dikembangkan. Pada 2007, Apple merilis iPhone pertama yang merupakan cikal bakal smartphone karena tidak memiliki tombol dan memiliki layar sentuh sehingga iPhone menjadi sangat populer pada periode ini. Pada tahun ini juga, Google membentuk Open Handset Alliance, yang merupakan merupakan awal dari standardisasi sistem operasi Android pada mobile phone rilisan perusahaan yang tergabung pada aliansi ini.
iPhone Pertama
(Sumber: www.uswitch.com)

6. 2009-2018: Jaringan 4G
4G LTE yang dirilis pada tahun 2009 memungkinkan user untuk melakukan streaming audio dan video dengan kecepatan yang hampir sama dengan kecepatan koneksi ketika menggunakan kabel. Pada tahun 2010 Samsung merilis Galaxy S sehingga menjadi saingan Apple di pasar Smartphone sampai saat ini. Pada tahun 2010an fitur pada mobile phone juga semakin meningkat mulai dari NFC, sertifikasi tahan air (IP), sensor pendeteksi detak jantung dan saturasi oksigen, dan sebagainya. Pada tahun 2012 Android berhasil menjadi sistem operasi perangkat mobile terpopuler setelah mengalahkan iOS.
iOS & Android
(Sumber: majapahit.id)

7. 2019-sekarang: Jaringan 5G
Semakin meningkatnya jumlah pengguna mobile phone dan kebutuhan perangkat IoT menyebabkan kebutuhan bandwidth yang lebih tinggi dari 4G LTE, sehingga pada tahun 2019 dirilis jaringan generasi berikutnya yaitu 5G. Pada tahun 2020 jumlah pengguna sistem oeprasi Android berjumlah sekitar 75% dari total seluruh pengguna perangkat mobile. Smartphone menjadi semakin populer dengan jumlah pengguna 6.5 milyar pada tahun 2022.
Market Share Mobile OS
(Sumber: www.cellphonedeal.com)

Secara garis besar, berikut adalah gambar timeline perkembangan mobile phone sampai dengan saat ini: 
Timeline Perkembangan Mobile Phone
(Sumber: www.cellphonedeal.com)

B. Sejarah Bahasa Pemrograman Mobile


1. 1989-Awal 1990an: EPOC
EPOC merupakan sistem operasi yang dirilis pada awal 1990an untuk perangkat keluaran Psion. EPOC memiliki beberapa fitur seperti prosesor kata, database, spreadsheet, catatan harian. Sistem operasi ini diprogram menggunakan bahasa pemrograman OPL (Open Programming Language) yang memungkinkan user untuk membuat aplikasi sendiri. Pada tahun 1995, Java yang merupakan bahasa pemrograman cross-platform dirilis.
Gambar Psion EPOC
(Sumber: manifesto.co.uk)

2. 1996: Palm OS
Palm OS merupakan OS keluaran Palm untuk device Palm Pilot yang dirilis pada 1996. Perangkat tersebut memiliki touchscreen GUI , aplikasi bawaan, browser, dan memungkinkan third-party apps yang diprogram menggunakan bahasa C/C++.
Gambar Palm Pilot
(Sumber: manifesto.co.uk)

3. Akhir 1990an: WML & Web Apps
Wireless Markup Language merupakan bahasa yang dikembangkan oleh WAP forum untuk device yang mendukung wireless application. WML merupakan bahasa berbasis XML sehingga memiliki waktu loading yang lebih cepat dibanding HTML. Cara kerjanya adalah user perlu untuk melewati WAP portal untuk dapat mengakses halaman website, sehingga ketika bandwidth internet meningkat WML mulai ditinggalkan. Pada tahun 1999 konsep web app dikenalkan oleh Java.
Wireless Markup Language
(Sumber: geeksforgeeks.org)

4. 1998-2006: J2ME/JME dan Symbian
Java Micro Edition merupakan platform pengembangan aplikasi mobile yang menggunakan bahasa pemrograman Java. Java Micro Edition memiliki kelebihan yaitu code yang dihasilkan portable karena berbasis Java, sehingga memungkinkan untuk digunakan kembali pada berbagai perangkat yang berbeda. Hal ini menyebabkan Java Micro Edition menjadi sangat populer ketika dirilis di tahun 1998, dan MIDP yang merupakan bagian dari Java Micro Edition untuk aplikasi (MIDlets) menjadi standar mobile phone pada waktu tersebut. Pada tahun yang sama, Symbian OS yang merupakan pengembangan Psion EPOC juga dirilis. Symbian menggunakan bahasa pemrograman C++ dan umumnya digunakan pada nokia pada era ini sehingga menjadi salah satu OS paling populer sebelum mengalami kemunduran di tahun 2009.
Duke, Maskot Bahasa Pemrograman Java
(Sumber: manifesto.co.uk)

6. 2007-2010: Android, iOS, Blackberry 10
Dengan dirilisnya smartphone pada 2007, terdapat perubahan dalam pengembangan aplikasi mobile. Pada iOS, bahasa pemrograman yang digunakan untuk pengembangan aplikasi adalah Objective C. Native SDK untuk iOS dirilis pada 2008. Pada sistem operasi Android yang juga dirilis pada 2007, user dapat menggunakan android API yang kompatibel terhadap Java. Pada 2010, dirilis Blackberry 10 yang merupakan OS yang mendukung native application development menggunakan API library C, C++, HTML5, JS, Adobe AIR, dan Java. Selain itu, non-native apps berbasis web juga menjadi semakin populer seiring dengan meningkatnya bandwidth yang dimiliki perangkat mobile. Aplikasi-aplikasi web menggunakan bahasa HTML5, CSS, dan JS. Selain itu, juga terdapat hybrid apps yang menggabungkan native maupun web-based dan didukung oleh beberapa framework.

Aplikasi Web Melalui Mobile Device
(Sumber: manifesto.co.uk)

7. 2010-sekarang
Pada era sekarang terdapat semakin banyak framework yang tersedia seperti ReactJS untuk pengembangan non-native apps. Sedangkan pengembangan native apps juga mengalami pengembangan dimana terdapat bahasa yang ditujukan untuk menggantikan bahasa pada era sebelumnya, seperti Kotllin yang dirilis tahun 2010 sebagai pengembangan Java dan Swift yang dirilis pada tahun 2014 untuk menggantikan Objective C/C/C++ pada iOS. Selain itu bahasa pemrograman hybrid apps juga semakin populer dengan adanya framework seperti React Native untuk bahasa pemrograman Javascript, Flutter untuk bahasa pemrograman Dart, Xamarin untuk .NET/C#, dan sebagainya.
Beberapa Framework Hybrid Apps
(Sumber: decode.agency)

Referensi

Sejarah Mobile Phone:
https://www.cellphonedeal.com/blog/history-of-the-cell-phone
https://www.wikiwand.com/en/History_of_mobile_phones
https://tekno.kompas.com/read/2023/04/14/03300027/sejarah-perkembangan-ponsel-dari-masa-ke-masa
https://www.uswitch.com/mobiles/guides/history-of-mobile-phones/
https://englishhimki.livejournal.com/25534.html
https://www.techopedia.com/definition/2955/mobile-phone
https://www.loc.gov/everyday-mysteries/technology/item/who-is-credited-with-inventing-the-telephone/
https://ul.org/research/electrochemical-safety/getting-started-electrochemical-safety/what-are-lithium-ion
https://www.britannica.com/technology/Android-operating-system

Sejarah Bahasa Pemrograman Mobile:
https://www.hp.com/us-en/shop/tech-takes/computer-history-programming-languages
https://manifesto.co.uk/history-mobile-application-development/
https://manifesto.co.uk/state-of-mobile-application-development/
https://u-next.com/blogs/java/history-of-java/
https://www.geeksforgeeks.org/wml-introduction/
https://webandcrafts.com/blog/history-of-mobile-apps
https://www.scaler.com/topics/symbian-os/
https://decode.agency/article/mobile-app-programming-languages/

EAS PPB I - Aplikasi Alfamind

Nama       : Florentino Benedictus NRP          : 5025201222 Tahun     : 2024 Kelas        : Pemrograman Perangkat Bergerak I Link Desain An...