GithubHelp home page GithubHelp logo

indonesian-numeral-spellers's Introduction

Indonesian Numeral Spellers

(Ubah file README.md ini setelah program diselesaikan)

Latar Belakang

Mengeja angka merupakan salah satu kegiatan dasar yang dilakukan setiap harinya. Contoh kegiatan tersebut yaitu mengeja harga barang, nilai data, tanggal dan tahun, serta masih banyak lagi. Meskipun terkesan hal sepele, berdasarkan penelitian dari para dokter di Indonesia, seorang anak baru bisa membaca dan mengeja angka pada umur 4-6 tahun. Rentang usia tersebut tentunya terasa kurang cepat. Padahal, semakin cepat seorang bisa membaca dan mengeja angka, maka semakin cepat pula anak tersebut dapat belajar berhitung dan mempelajari hal-hal lainnya, bahkan termasuk belajar pemrograman.

Dari permasalah di atas, maka diperlukanlah suatu sarana pembelajaran yang dapat membantu anak-anak balita di Indonesia untuk membaca dan mengeja angka. Dengan adanya solusi tersebut, diharapkan anak-anak dapat membaca dan mengeja angka lebih cepat sehingga mampu segera mempelajari hal-hal lebih besar lainnya dan tentunya meningkatkan tingkat pendidikan di Indonesia.

Spesifikasi

Buatlah dalam bahasa pemrograman Go, sebuah web service berupa REST API, yang dapat mengeja (dalam bahasa Indonesia) dari angka yang diberikan serta menuliskan angka yang tepat dari masukkan ejaan angka (dalam bahasa Indonesia juga), dengan ketentuan-ketentuan sebagai berikut :

  1. Terdapat 2 buah endpoint API yang perlu dibuat, yaitu 'GET /spell' yang menerima parameter angka, serta 'POST /read' yang menerima body/payload berupa text/ejaan. Jika input parameter atau body/payload tidak valid, maka berikan response keterangan error/gagal dengan format dibebaskan.

  2. Sebagai REST API, maka response harus berupa JSON. Struktur data response JSON dibebaskan.

  3. Program dibuat dengan mengikuti standar development resmi Go (lihat referensi #3), yaitu environment kode program berada pada $GOPATH/src/, misalkan $GOPATH/src/github.com/Indonesian-Numeral-Spellers.

  4. Arsitektur program dibebaskan (boleh mengikuti referensi-referensi REST API with Go dari internet), namun harus tetap tersusun dengan rapi dan mengerti apa kegunaan setiap fungsi, file, serta package.

  5. Batasan kasus uji : 2000000000 (dua milyar)

Contoh Kasus Uji

Contoh Kasus Uji 1 : Pengejaan

Request :

GET '/spell?number=123456'

Response :

STATUS CODE 200
{
    "status" : "OK",
    "text" : "seratus dua puluh tiga ribu empat ratus lima puluh enam"
}

Contoh Kasus Uji 2 : Pembacaan

Request:

POST '/read'
{
    "text" : "seribu sembilan ratus sembilan puluh tujuh"
}

Response :

STATUS CODE 200
{
    "status" : "OK",
    "number" : 1997
}

Bonus

Buatlah sebuah aplikasi mobile atau website dengan tampilan menarik, yang menggunakan kedua API tersebut. Semakin menarik tampilan, semakin tinggi poin yang akan didapat.

Teknologi yang direkomendasikan : React.js

Penilaian

  • Kebenaran fungsionalitas program.
  • Kebenaran API.
  • Pemahaman tentang bahasa pemrograman Go serta REST API.
  • Kerapihan repository & kode, termasuk README (fungsi program, contoh request & response dari setiap endpoint) dan arsitektur kode Go.
  • UI (bonus).

Nilai maksimum yang bisa didapatkan adalah 1600 (2600 dengan bonus) poin.
(Seribu Enam Ratus)

Referensi Pengerjaan (sangat disarankan untuk diikuti dengan baik)

  1. https://golang.org/doc/install
  2. https://github.com/golang/go/wiki/SettingGOPATH
  3. https://golang.org/doc/code.html#Introduction
  4. https://tour.golang.org/welcome/1
  5. https://openclassrooms.com/en/courses/3432056-build-your-web-projects-with-rest-apis/3496011-identify-examples-of-rest-apis
  6. https://www.codementor.io/codehakase/building-a-restful-api-with-golang-a6yivzqdo

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.