Skip to content

Commit

Permalink
push project belajar kotlin dasar
Browse files Browse the repository at this point in the history
  • Loading branch information
khannedy committed Apr 11, 2020
0 parents commit 8506041
Show file tree
Hide file tree
Showing 51 changed files with 788 additions and 0 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
out
8 changes: 8 additions & 0 deletions .idea/.gitignore

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 10 additions & 0 deletions .idea/codeStyles/Project.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions .idea/codeStyles/codeStyleConfig.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 10 additions & 0 deletions .idea/kotlinc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

19 changes: 19 additions & 0 deletions .idea/libraries/KotlinJavaRuntime.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions .idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 12 additions & 0 deletions belajar-kotlin-dasar.iml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="KotlinJavaRuntime" level="project" />
</component>
</module>
23 changes: 23 additions & 0 deletions src/AnonymousFunction.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
fun main() {

fun hello(name: String, transformer: (String) -> String): String {
val nameTransform = transformer(name)
return "Hello $nameTransform"
}

val upper = fun(value: String): String {
if (value == "") {
return "UPS"
} else {
return value.toUpperCase()
}
}

println(hello("Eko", upper))
println(hello("", upper))

println(hello("Kurniawan", fun(value: String): String {
return value.toLowerCase()
}))

}
21 changes: 21 additions & 0 deletions src/Array.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
fun main() {

val names: Array<String> = arrayOf("Eko", "Joko", "Budi")
// names.set(0, "Rudi")
names[0] = "Rudi"
println(names[0])

val nilai: Array<Int> = arrayOf(10,9,8)
println(nilai[0])
println(nilai[1])
println(nilai[2])

val members: Array<String?> = arrayOfNulls(5)
members[0] = "Eko"
members[1] = "Eko"
members[2] = "Eko"
members[3] = null
members[4] = "Eko"
println(members.size)

}
7 changes: 7 additions & 0 deletions src/Boolean.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
fun main() {
var benar: Boolean = true
var salah: Boolean = false

println(benar)
println(salah)
}
23 changes: 23 additions & 0 deletions src/BreakContinue.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
fun main() {

var i = 0

while (true) {
println("Hello ke $i")
i++

if (i > 1000) {
break
}
}

for (i in 1..1000) {

if (i % 2 == 0) {
continue
}

println("Angka $i")
}

}
9 changes: 9 additions & 0 deletions src/Character.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
fun main() {
var e: Char = '3'
var k: Char = 'K'
var o: Char = '0'

print(e)
print(k)
print(o)
}
28 changes: 28 additions & 0 deletions src/Closure.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
fun main() {

var counter: Int = 0

val lambdaIncrement: () -> Unit = {
println("Lambda increment")
counter++
}

val anonymousIncremetn = fun() {
println("Anonymous Function increment")
counter++
}

fun functionIncrement(){
println("Function increment")
counter++
}

lambdaIncrement()
anonymousIncremetn()
functionIncrement()
lambdaIncrement()
anonymousIncremetn()
functionIncrement()

println(counter)
}
10 changes: 10 additions & 0 deletions src/DoWhileLoop.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
fun main() {

var i = 0

do {
println("Perulangan ke $i")
i++
} while (i < 10)

}
13 changes: 13 additions & 0 deletions src/ExtensionFunction.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
fun String.hello(): String = "Hello $this"

fun String.printHello(): Unit = println("Hello $this")

fun main() {
val name = "Eko"

println(name.hello())

name.printHello()

"Kurniawan".printHello()
}
17 changes: 17 additions & 0 deletions src/ForLoop.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
fun main() {

var array = arrayOf("Eko", "Kurniawan", "Khannedy", "Joko", "Budi", "Rudi")

var total = 0
for (name in array) {
println(name)
total++
}
println("Total perulangan = $total")

val ukuranArray = array.size - 1
for (i in 0..ukuranArray) {
println("Index $i = ${array.get(i)}")
}

}
11 changes: 11 additions & 0 deletions src/Function.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@

fun helloWorld(){
println("Hello Dunia")
println("Selamat Belajar Kotlin")
}

fun main() {
helloWorld()
helloWorld()
helloWorld()
}
14 changes: 14 additions & 0 deletions src/FunctionDefaultParameter.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
fun hello(firstName: String, lastName: String? = null) {
if (lastName == null) {
println("Hello $firstName")
} else {
println("Hello $firstName $lastName")
}
}

fun main() {
hello("Eko")
hello("Eko", "Kurniawan")
hello("Budi")
hello("Joko", "Nugroho")
}
12 changes: 12 additions & 0 deletions src/FunctionInfixNotation.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
infix fun String.to(type: String): String {
if (type == "UP") {
return this.toUpperCase()
} else {
return this.toLowerCase()
}
}

fun main() {
val result = "Eko Kurniawan" to "LO"
println(result)
}
16 changes: 16 additions & 0 deletions src/FunctionNamedArgument.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
fun fullName(
firstName: String,
middleName: String,
lastName: String
) {
println("Hello $firstName $middleName $lastName")
}

fun main() {
fullName("Eko", "Kurniawan", "Khannedy")
fullName(
lastName = "Khannedy",
firstName = "Eko",
middleName = "Kurniawan"
)
}
13 changes: 13 additions & 0 deletions src/FunctionParameter.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
fun sayHello(firstName: String, lastName: String?) {
if (lastName == null) {
println("Hello $firstName")
} else {
println("Hello $firstName $lastName")
}
}

fun main() {
sayHello("Eko", "Kurniawan")
sayHello("Budi", null)
sayHello("Joko", "Nugraha")
}
27 changes: 27 additions & 0 deletions src/FunctionReturnType.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
fun jumlahkan(a: Int, b: Int): Int {
val total = a + b
return total
}

fun bagi(a: Int, b: Int): Int {
if (b == 0) {
return 0
} else {
val result = a / b
return result
}
}

fun main() {
println(jumlahkan(10, 10))
println(jumlahkan(100, 100))

val result = jumlahkan(200, 200)
println(result)

val result2 = jumlahkan(5, 5)
println(result2)

println(bagi(100, 10))
println(bagi(100, 0))
}
19 changes: 19 additions & 0 deletions src/FunctionScope.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@


fun satu(){
// error
// contohHelloWorld()
}

fun dua(){
// error
// contohHelloWorld()
}

fun main() {
fun contohHelloWorld(){
println("Hello World")
}

contohHelloWorld()
}
Loading

0 comments on commit 8506041

Please sign in to comment.