Kali ini kita akan menggunakan loops untuk membuat simple problem math.
Task
Ada bilangan integer N , print 10 kali, dimana setiap perulangan N x i(where 1<=10 i <=10) harus dicetak N x i =result.
Input Format
Single Integer N
Constraints
2 <= N <=20
Sample Input
2
Code
import java.util.Scanner;
public class Loops1 {
private static final Scanner scanner = new Scanner(System.in);
public static void main(String[] args) {
int N = scanner.nextInt();
scanner.skip("(\r\n|[\n\r\u2028\u2029\u0085])?");
int result=0;
for(int i=1;i<=10;i++){
result=N*i;
System.out.println(N+" x "+i+" = "+result);
}
scanner.close();
}
}
Output
2 x 1 = 2
2 x 2 = 4
2 x 3 = 6
2 x 4 = 8
2 x 5 = 10
2 x 6 = 12
2 x 7 = 14
2 x 8 = 16
2 x 9 = 18
2 x 10 = 20
hyvercode
Dart Abstract Classes
Abstract Class , adalah class yang tidak bisa dibuat object Karena masih bersifat abstract, Abstract class memiliki method yang juga bersifat abstract atau belum memiliki implentasinya. Untuk membuat abstract class yaitu dengan menggunakan keyword abstract contoh pembuatan abstract class :
abstract class car{
void onRun()
}
untuk membuat implementasi dari sebuah abstract class maka kita bisa embu芒t class implementatornya seperti berikut:
abstract class Car{
void onRun();
void onBreak();
}
class Truck implements Car{
@override
void onRun() {
// TODO: implement onRun
print("Truck run");
}
@override
void onBreak() {
// TODO: implement onBreak
print("Truck on break");
}
}
class Bus implements Car{
@override
void onBreak() {
// TODO: implement onBreak
print("Bus on break");
}
@override
void onRun() {
// TODO: implement onRun
print("Bus on run");
}
}
void main(){
var truck = new Truck();
truck.onRun();
truck.onBreak();
var bus = new Bus();
bus.onRun();
bus.onBreak();
}
//output
Truck run
Truck on break
Bus on run
Bus on break
Sample source code bisa di download di github pada link berikut聽dart-tutorial
hyvercode
Dart Methods
Methods adalah function yang memberikan perilaku dari sebuah object.
Instance Methods
Metode instance pada objek dapat mengakses variabel instance dan this. Metode distanceTo () dalam contoh berikut adalah contoh metode instance
import 'dart:math';
class Point {
double x, y;
Point(this.x, this.y);
double distanceTo(Point other) {
var dx = x - other.x;
var dy = y - other.y;
return sqrt(dx * dx + dy * dy);
}
}
void main(){
var point = Point(10, 10);
print("Value is "+point.distanceTo(point).toString());
}
Value is 0.0
Operators
Operator adalah metode instance dengan nama khusus. Dart memungkinkan kita menentukan operator dengan nama berikut:
<
+
|
[]
>
/
^
[]=
<=
~/
&
~
>=
*
<<
==
–
%
>>
聽
contoh penggunaan operator
class Vector {
final int x, y;
Vector(this.x, this.y);
Vector operator +(Vector v) => Vector(x + v.x, y + v.y);
Vector operator -(Vector v) => Vector(x - v.x, y - v.y);
// Operator == and hashCode not shown.
// 路路路
}
void main() {
final v = Vector(2, 3);
final w = Vector(2, 2);
assert(v + w == Vector(4, 5));
assert(v - w == Vector(0, 1));
}
Getter and Setters
Getter dan setter adalah metode khusus yang menyediakan akses read dan write ke properti objek. Ingatlah bahwa setiap variabel contoh memiliki inplicit getter dan setter jika sesuai. Kita dapat membuat properti tambahan dengan menerapkan getter dan setter, menggunakan get dan set kata kunci:
class Rectangle {
double left, top, width, height;
Rectangle(this.left, this.top, this.width, this.height);
// Define two calculated properties: right and bottom.
double get right => left + width;
set right(double value) => left = value - width;
double get bottom => top + height;
set bottom(double value) => top = value - height;
}
void main() {
var rect = Rectangle(3, 4, 20, 15);
assert(rect.left == 3);
rect.right = 12;
assert(rect.left == -8);
}
Dengan getter dan setter, kita dapat memulai dengan variabel instance, kemudian menggabungkannya dengan metode, semuanya tanpa mengubah kode klien.
Sample source code bisa di download di github pada link berikut聽dart-tutorial
hyvercode
Dart Constructors
Constructor adalah method kudus yang akan di eksekusi saat pembuatan object dari sebuah class. Biasanya constructor digunakan untuk insialisasi atau memperispakn data yang object butuhkan. Cara membuat constructor yaitu dengan membuat function dengan nama yang sama pengan nama class .
class Person{
String name;
int age;
Person(String name,int age){
this.name =name;
this.age = age;
}
}
Pola penugasan argumen constructor ke variabel instan sangat umum, Dart memiliki sugar sintaksis untuk membuatnya mudah:
class Person{
String name;
int age;
Person(this.name,this.age);
}
Default Constructors
Jiak kita tidak membuat contsructor pada sebua class, maka secara default cobstructors akan disediakan. Default constructors tidak memiliki arguments dan memanggil constructors tanpa argumen di superclass.
Constructors aren’t inherited
Subclass tidak mewarisi konstruktor dari superclass mereka. Subclass yang mendeklarasikan tidak ada konstruktor hanya memiliki konstruktor default (tanpa argumen, tanpa nama).
Names Constructors
Untuk membuat sebuah class yang memiliki contructors lebin dari satu ( Multiple Constructors), Maka kita bisa memberi nama pada contractos yang kita buat:
class Person{
String name;
int age;
Person(this.name,this.age);
// named contractor
Person.getName(String name){
this.name =name;
}
}
Ingat bahwa konstruktor tidak diwariskan, yang berarti konstruktor bernama superclass tidak diwarisi oleh subclass. Jika kita ingin subclass dibuat dengan konstruktor bernama yang ditentukan di superclass, Anda harus mengimplementasikan konstruktor itu di subclass.
Invoking a non-default superclass constructor
Secara default, konstruktor dalam subclass memanggil konstruktor tanpa argumen kelas super tersebut. Konstruktor superclass dipanggil di awal badan konstruktor. Jika daftar penginisialisasi juga digunakan, itu dijalankan sebelum superclass dipanggil. Singkatnya, urutan eksekusi adalah sebagai berikut:
initializer list
superclass鈥檚 no-arg constructor
main class鈥檚 no-arg constructor
class Employee extends Person {
Employee() : super.fromJson(defaultData);
// 路路路
}
Initializer list
Selain memanggil konstruktor superclass, kita juga bisa menginisialisasi variabel instan sebelum badan konstruktor dijalankan. Pisahkan penginisialisasi dengan koma.
Point.fromJson(Map<String, double> json)
: x = json['x'],
y = json['y'] {
print('In Point.fromJson(): ($x, $y)');
}
Redirecting constructors
Terkadang satu-satunya tujuan konstruktor adalah mengarahkan ke konstruktor lain di class yang sama. Badan konstruktor is empty, dengan panggilan konstruktor muncul setelah titik dua (:).
class Point {
double x, y;
// The main constructor for this class.
Point(this.x, this.y);
// Delegates to the main constructor.
Point.alongXAxis(double x) : this(x, 0);
}
Constant constructors
Jika kelas yang kita buat menghasilkan objek yang tidak pernah berubah, kita dapat membuat objek ini menjadi konstanta (const) waktu kompilasi. Untuk melakukan ini, tentukan konstruktor const dan pastikan bahwa semua variabel instan sudah final.
class ImmutablePoint {
static final ImmutablePoint origin =
const ImmutablePoint(0, 0);
final double x, y;
const ImmutablePoint(this.x, this.y);
}
Factory Constructors
Gunakan factory keyword ketika melakukan implementasi constructor tanpa harus membuat instance baru dari sebuah class. factory mungkin mengembalikan instance dari cache atau mengembalikan instance dari subtype, Kasus penggunaan lain untuk konstruktor factory adalah menginisialisasi variabel final menggunakan logika yang tidak dapat ditangani dalam daftar penginisialisasi.
class Logger {
final String name;
bool mute = false;
// _cache is library-private, thanks to
// the _ in front of its name.
static final Map<String, Logger> _cache =
<String, Logger>{};
factory Logger(String name) {
return _cache.putIfAbsent(
name, () => Logger._internal(name));
}
factory Logger.fromJson(Map<String, Object> json) {
return Logger(json['name'].toString());
}
Logger._internal(this.name);
void log(String msg) {
if (!mute) print(msg);
}
}
Sample source code can be downloaded on github at the following link聽聽聽聽聽dart-tutorial
hyvercode
Dart Instance Variables
Semua instance dari variable di generate implicit getter method. Non-final instance variable digenerate implicit setter method:
//code
class Person{
String name;
int age;
Person(this.name,this.age);
}
void main(){
var person = Person("Alfaz",30);
print('Name : '+person.name);
print('Age :'+person.age.toString());
}
//output
Name : Alfaz
Age :30
Jika kita menginisialisasi variable instance di mana dideklarasikan (bukan di constructor atau method), nilai harus ditetapkan saat instance dibuat, yaitu sebelum constructor dan daftar penginisialisasinya dijalankan.
Sample source code can be downloaded on github at the following link聽聽聽dart-tutorial
hyvercode
Dart Classes
Dart adalah Bahasa pemograman berbasis OOP (Object Oriented Programming) dan pewarisan berbasis mixin (Mixins-based inheritance), setiap object adalah instance dari class dan semua class adalah turban dari object. Pewarisan berbasis mixin artinya setiap class (kecuali untuk object) memiliki satu superclass, body pada class bisa digunakan kembali pada multipleclass hirakinya. Extension methode adalah cara uituk menambhakan funsionalitas pada class tapa merubah tau membuat subclass.
Using class members
Sebiah object memiliki function dan data (methods and instance variable, respectively). Ketika kila memanggil method, maka memiliki akses untuk memanggil function dan data pada object tersebut. contoh cara memanggil sebuah function pada object :
//code
class person{
String getPersonName(){
return 'Alfaz';
}
}
void main(){
var man = person();
String name = man.getPersonName();
print(name);
}
//output
Alfaz
Using Constructors
Kita bisa membuat object dengan contructor. Constructor memili nama sama dengan nama class, contoh jika kita membuat class Person nama nama contructor untuk class person adalah Person() :
//code
class Person{
String name;
int age;
Person(this.name,this.age){
this.name = name;
this.age = age;
}
void printIdntity(){
print('Name :$name'+" Age :"+age.toString());
}
}
void main(){
// create by contructors
var detail = Person("Jhon", 30);
detail.printIdntity()
}
//output
Name :Jhon Age :30
Getting an object’s type
Untuk mendapatkan type object pada runtime, kita bisa menggunakan property objects runtimeType yang akan mengembalikan type object
print('The type of a is ${a.runtimeType}');
Sample source code can be downloaded on github at the following link聽聽dart-tutorial
hyvercode
Javascript Array
Array umumnya digambarkan sebagai “object list”, Array pada dasarnya adalah object tunggal yang berisi banyak nilai yang disimpan dalam list. Objek array dapat disimpan dalam variabel dan ditangani dengan cara yang sama seperti jenis nilai lainnya, perbedaannya adalah kita dapat mengakses setiap nilai di dalam daftar secara individual, dan melakukan hal-hal yang sangat berguna dan efisien dengan daftar, seperti loop through itu dan melakukan hal yang sama untuk setiap nilai. Mungkin kita memiliki serangkaian item produk dan harganya disimpan dalam array, dan kita ingin mengulang semuanya dan mencetaknya di faktur, sambil menjumlahkan semua harga bersama-sama dan mencetak harga total di bagian bawah.
//code
let numbers = [1,2,3,4,5,6,7,8,9,10];
for(let i=0;i<numbers.length;i++){
console.log(numbers[i]);
};
//output
1
2
3
4
5
6
7
8
9
10
Mendapatkan Array dengan array index
//code
let names = ['Crish','Jhon','Mikel'];
console.log(names[2]);
//output
Mikel
The project source code can be downloaded on the GitHub聽聽javascript-tutorial
hyvercode
Pick Number Java Application
Hallo semua, kali ini saya akan membuat sebuah aplikasi pick-number, ini adalah program sederhana dimana user dan system berlomba untuk mendapatkan nilai tertinggi dari random number yang tersedia.
Buat sebuah file java App.java kemudian tulis syntax atau script java berikut:
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.Scanner;
public class App {
public static void main( String[] args ) {
Scanner keyboard = new Scanner(System.in);
Random r = new Random();
System.out.println( "Pick a number between 10 - 20");
int pickNumber = keyboard.nextInt();
List<Integer> result = new ArrayList<>();
if(pickNumber <10 || pickNumber >20){
System.out.println( "\n==== Please pick a number between 10 - 20 !");
System.exit(1);
}
for(int i=0;i<10;i++){
result.add(r.nextInt(21-pickNumber)+pickNumber);
}
int userPick;
int aiPick;
int sumUser=0;
int sumAi=0;
int ai;
while(result.size()!=0){
System.out.println("List "+result.toString().replace(","," ").replace("[","").replace("]",""));
System.out.println("Pick a number from most left ot right ");
userPick = keyboard.nextInt();
try {
aiPick =result.indexOf(userPick);
if(result.size()<aiPick){
System.out.println("Left");
aiPick =result.indexOf(userPick-2);
}
result.remove(Integer.valueOf(userPick));
if(result.size()==aiPick){
ai=result.get(aiPick-1);
System.out.println("Rigth "+aiPick);
}else{
ai=result.get(aiPick);
}
result.remove(Integer.valueOf(ai));
sumUser =sumUser+userPick;
sumAi = sumAi+ai;
System.out.println("Your pick "+userPick);
System.out.println("AI pick "+ai);
System.out.println("Sum User "+sumUser);
System.out.println("Sum AI "+sumAi);
System.out.println("");
}catch (Exception e){
System.out.println("\n==== Please pick number from list!\n");
System.exit(1);
}
}
String win = sumUser<sumAi?"Game Over, You Lose":"Congratulation ! You win\n";
System.out.println(win);
}
}
untuk menjalankanya masuk ke terminal ketik perintah
$javac App.java
$java App
masukan angka antara 10 dan 20 maka system akan membuat list random angka, kemudian pilih salah satu angka yang terdapat pada list, seperti berikut:
Pick a number between 10 - 20
10
List 10 10 20 11 18 14 12 18 20 16
Pick a number from most left ot right
10
Your pick 10
AI pick 10
Sum User 10
Sum AI 10
List 20 11 18 14 12 18 20 16
Pick a number from most left ot right
20
Your pick 20
AI pick 11
Sum User 30
Sum AI 21
List 18 14 12 18 20 16
Pick a number from most left ot right
12
Your pick 12
AI pick 18
Sum User 42
Sum AI 39
List 14 18 20 16
Pick a number from most left ot right
18
Your pick 18
AI pick 20
Sum User 60
Sum AI 59
List 14 16
Pick a number from most left ot right
16
Rigth 1
Your pick 16
AI pick 14
Sum User 76
Sum AI 73
Congratulation ! You win
Process finished with exit code 0
Source code project bisa didownload di GitHub聽pick-number
hyvercode
PHP Numeric strings
String PHP dianggap numerik jika dapat diinterpreted sebagai int atau float. Secara resmi pada PHP 8.0.0:
PHP juga memiliki konsep leadingnumeric string. Ini hanyalah string yang dimulai seperti string numerik diikuti oleh karakter apa pun.
<?php
$foo = 1 + "10.5"; // $foo is float (11.5)
$foo = 1 + "-1.3e3"; // $foo is float (-1299)
$foo = 1 + "bob-1.3e3"; // TypeError as of PHP 8.0.0, $foo is integer (1) previously
$foo = 1 + "bob3"; // TypeError as of PHP 8.0.0, $foo is integer (1) previously
$foo = 1 + "10 Small Pigs"; // $foo is integer (11) and an E_WARNING is raised in PHP 8.0.0, E_NOTICE previously
$foo = 4 + "10.2 Little Piggies"; // $foo is float (14.2) and an E_WARNING is raised in PHP 8.0.0, E_NOTICE previously
$foo = "10.0 pigs " + 1; // $foo is float (11) and an E_WARNING is raised in PHP 8.0.0, E_NOTICE previously
$foo = "10.0 pigs " + 1.0; // $foo is float (11) and an E_WARNING is raised in PHP 8.0.0, E_NOTICE previously
?>
Source code project ini dapat di download di Github聽php-tutorial
hyvercode
PHP Booleans
Boolean atau bool adalah type data yang hanya memiliki inlay true atau false, inlay boolean bersifat case-sensitive contoh syntax pengunaan tipe data boolean seperti berikut :
<?php
$foo = true //assign the value TRUE to $foo
?>