Skip to content

Instantly share code, notes, and snippets.

View alfianyusufabdullah's full-sized avatar
📚
Sometimes playing with Code & Fish

Alfian Yusuf Abdullah alfianyusufabdullah

📚
Sometimes playing with Code & Fish
View GitHub Profile
interface Payment {
val paymentName: String
}
interface Bank: Payment {
val noCard: Int
}
interface Digital: Payment {
val tagname: String
import java.util.Date
interface Product {
val name: String
}
interface FoodProduct: Product {
val expiredDate: Date
}
enum class Shipping {
JNE, JNT
}
class Product() {
fun calculateShippingPrice(price: Int, shipping: Shipping): Int{
return when(shipping){
Shipping.JNE -> 12 * price
Shipping.JNT -> 20 * price
else -> 0
class Repository(){
fun getData(): String {
return dataSource()
}
fun dataSource(): String {
return "data from datasource!"
}
}
{"approved":["fun main val valueA 101 val valueB 52 val valueC 99 val resultA calculateResult valueA valueB valueC val resultB calculateResult valueA valueB null println ResultA is resultA ResultB is resultB trimIndent fun calculateResult valueA Int valueB Int valueC Int Int TODO val valueC if valueC null valueC else 50 val result valueA valueB valueC return result","fun main TODO 1 val vehicle mapOf String String type to Motorcycle maxSpeed to 230Km s maxTank to 10Ltr TODO 2 val type vehicle type val maxSpeed vehicle maxSpeed val maxTank vehicle maxTank TODO 3 println Vehicle println Type type println Maximal Speed maxSpeed println Maximal Tank maxTank","fun main val kotlin Kotlin getFirstAndLast val dicoding Dicoding getFirstAndLast val kotlinFirstChar kotlin first val kotlinLastChar kotlin last val dicodingFirstChar dicoding first val dicodingLastChar dicoding last println First char Kotlin is kotlinFirstChar and kotlinLastChar for second letter println First char Dicoding is dicodingFirstChar and dicoding
{"data":"approved","code":["funmain(){valvalueA=101valvalueB=52valvalueC=99valresultA=calculateResult(valueA,valueB,valueC)valresultB=calculateResult(valueA,valueB,null)println(\"\"\"ResultAis$resultAResultBis$resultB\"\"\".trimIndent())}funcalculateResult(valueA:Int,valueB:Int,valueC:Int?):Int{//TODOvalvalueC=if(valueC!=null)valueCelse50valresult=valueA+(valueB-valueC)returnresult}","funmain(){//TODO1valvehicle=mapOf<String,String>(\"type\"to\"Motorcycle\",\"maxSpeed\"to\"230Km/s\",\"maxTank\"to\"10Ltr\")//TODO2valtype=(vehicle[\"type\"])valmaxSpeed=(vehicle[\"maxSpeed\"])valmaxTank=(vehicle[\"maxTank\"])//TODO3println(\"Vehicle\")println(\"Type:$type\")println(\"MaximalSpeed:$maxSpeed\")println(\"MaximalTank:$maxTank\")}","funmain(){valkotlin=\"Kotlin\".getFirstAndLast()valdicoding=\"Dicoding\".getFirstAndLast()valkotlinFirstChar=kotlin[\"first\"]valkotlinLastChar=kotlin[\"last\"]valdicodingFirstChar=dicoding[\"first\"]valdicodingLastChar=dicoding[\"last\"]println(\"FirstcharKotlinis$kotlinFirstCharand$kotl
{
"submission": {
"approved": [
"/***Untukmenyelesaikantugaslatihan,Andatidakdiperbolehkanmengubahstrukturkodeyangsudahada.Kecuali:*-Untukmelakukanimprovisasikode*-Mengikutiperintahyangada**Cukuptambahkankodeberdasarkanperintahyangsudahditentukan.**/funmain(){vallistNumber=1.rangeTo(100)for(numberinlistNumber){//TODO1if(number%2==0)continue//TODO2if(number>15)break//TODO3valresult=number*(number+10)println(\"rangeresultis$result\")}}",
"/***Untukmenyelesaikantugaslatihan,Andatidakdiperbolehkanmengubahstrukturkodeyangsudahada.Kecuali:*-Untukmelakukanimprovisasikode*-Mengikutiperintahyangada**Cukuptambahkankodeberdasarkanperintahyangsudahditentukan.**/importkotlinx.coroutines.*//TODO1suspendfunsum(valueA:Int,valueB:Int):Int{delay(3000)returnvalueA+valueB}//TODO2suspendfunmultiple(valueA:Int,valueB:Int):Int{delay(2000)returnvalueA*valueB}funmain()=runBlocking{println(\"Counting...\")valresultSum=async{sum(10,10)}valresultMultiple=async{multiple(20,20)}//TODO3println(\"Resultsum:${resultSum.awai
{
"codes" : {
"-MjFEffYhKc4a5lxctG6" : {
"code" : "importorg.junit.Assertimportorg.junit.TestclassTest{privatefun<T>checkFunction(args:T){valresult=when(args){isString->args.lengthisInt->args*5else->0}Assert.assertEquals(\"FungsigetResultseharusnyamengembalikannilai$result\",result,getResult(args))}@Testfuntest1()=checkFunction(\"Kotlin\")@Testfuntest2()=checkFunction(true)@Testfuntest3()=checkFunction(10)@Testfuntest4()=checkFunction(0x01)@Testfuntest5()=checkFunction(false)@Testfuntest6()=checkFunction(10L)@Testfuntest7()=checkFunction('A')@Testfuntest8()=checkFunction(100110)}"
},
"-MjFEffZS31QU8c3V55w" : {
"code" : "funmain(){println(\"\"\"Kotlin,|isAwesome!\"\"\".trimMargin())}"
},
"-MjFEfguDW41sHZxajb9" : {
"code" : "importkotlin.reflect.typeOf/***Untukmenyelesaikantugaslatihan,Andatidakdiperbolehkanmengubahstrukturkodeyangsudahada.Kecuali:*-Untukmelakukanimprovisasikode*-Mengikutiperintahyangada**Cukuptambahkankodeberdasarkanperintahyangsudahditentukan.**/funmain
@alfianyusufabdullah
alfianyusufabdullah / desc.md
Last active July 30, 2021 01:15
Lorem ipsum

Prototyping Flow

Saat halaman detail review dibuka, extensions akan mengirimkan ping menggunakan websocket untuk memastikan ketersediaan aplikasi untuk merender tampilan. Berikut adalah data yang dibawa ketika melakukan ping.

{
  "type": "ping",
  "id": 123,
  "name": "Belajar Dasar Pemrograman Web"
}
[{"name":"[Mandatory] Add Book With Complete Data","method":"POST","request":"http://localhost:{{port}}/books/","messages":["status code should be 201 | expected response to have status code 201 but got 500","response body should have correct property and value | expected { Object (status, message) } to have own property 'data'","response body data should contain bookId | Target cannot be null or undefined."]},{"name":"[Mandatory] Add Book Without Name","method":"POST","request":"http://localhost:{{port}}/books/","messages":["status code should be 400 | expected response to have status code 400 but got 500"]},{"name":"[Mandatory] Add Book with Page Read More Than Page Count","method":"POST","request":"http://localhost:{{port}}/books/","messages":["status code should be 400 | expected response to have status code 400 but got 500","response body should have correct property and value | expected 'Gagal menambahkan buku. Mohon isi nama buku' to equal 'Gagal menambahkan buku. readPage tidak boleh lebih besar dari