df
mkdir cli_app
npm init
tambahkan
"type": "module",
//package.json
{
"name": "cli_app",
"version": "1.0.0",
"description": "membuat sebuah aplikasi cli sederhanan ",
"main": "index.js",
"type": "module",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "andismail",
"license": "MIT"
}
tambahkan index.js jalankan dengan node index.js
untuk menampilkan banyak line dengan menggunakan bectick ``.
`
//index.js
//manampilkan teks ke console
console.clear()
const data = {
username : "andiismail",
email : "andi@andi.com",
}
console.log(`
===================================
selamat datang di applikasi saya
===================================
username : ${data.username}
--------------------------
email : ${data.email}
===================================
)
``
selanjutnya kita akan mencoba menangkap inputan user dengan packet inquirer
`
//index.js
import inquirer from 'inquirer';
console.log(
)
===================================
selamat datang di applikasi saya
===================================
inquirer.prompt([
{
name : "fullname",
message : "masukkan nama lengkap kamu : "
},
{
name : 'age',
message : 'Masukan usia kamu: '
}
])
.then((ans)=>{
console.log(ans)
})
`
hasilnya :
kita sudah berhasil menangkap inputan user di console log selanjutnya kita akan menampilkan hasilnya ke user
console.log(
--------------------------------
Nama lengkap : ${ans.fullname}
Usia : ${ans.age}
--------------------------------
)
console.clear()
agar pertanyaan sebelumnya gak muncul
`
//index.js
import inquirer from 'inquirer';
console.log(
)
===================================
selamat datang di applikasi saya
===================================
inquirer.prompt([
{
name : "fullname",
message : "masukkan nama lengkap kamu : "
},
{
name : 'age',
message : 'Masukan usia kamu: '
},
{
name : 'married',
message : 'Apakah kamu sudah menikah ?',
type : "list",
choices : ['belum', 'sudah', 'baru mau']
},
])
.then((ans)=>{
console.log(
)
--------------------------------
Nama lengkap : ${ans.fullname}
Usia : ${ans.age}
Menikah : ${ans.married}
--------------------------------
})
`
sekarang kita buat aplikasi sederhana untuk data warga buat file dataWarga.js
`
//dataWarga.js
// buatlah sebuah aplikasi sederhana untuk data warga
// buat beberapa pertanyaan
/**
- 1. Nama lengkap
- 2. Tempat tanggal lahir
- 3. no ktp
- 4. no telp
- 5. alamat lengkap
- 6. status << menggunakan list choice [menikah single, duda/janda]
- */
//dan tampilkan
import inquirer from "inquirer";
console.info(`
Aplikasi data- warga
`)
inquirer.prompt([
{
name : 'fullname',
message : 'Name lengkap'
},
{
name : 'ttl',
message : 'Tempat tanggal lahir'
},
{
name : 'ktp',
message : 'Nomor KTP'
},
{
name : 'phone',
message : 'Nomor Telp'
},
{
name : 'fullname',
message : 'Name lengkap'
},
{
name : 'address',
message : 'Alamat lengkap'
},
{
name : 'status',
message : 'Alamat lengkap',
type : 'list',
choices : ['sudah', 'belum', 'pernah']
},
])
.then(ans=>{
console.clear()
console.log(
)
--------------------------------------
Nama lengkap : ${ans.fullname}
Tempat tanggal lahir : ${ans.ttl}
NO KTP : ${ans.ktp}
Telp : ${ans.phone}
Alamat : ${ans.address}
Status : ${ans.status}
--------------------------------------
})
`
hasilnya :
selanjutnya kita akan menyimpan inputan ini kedalam file txt menggunakan packages fs
kita buat folder storage,
`
//dataWarga.js
import inquirer from "inquirer";
import fs from 'fs'
console.info(`
Aplikasi data- warga
`)
inquirer.prompt([
{
name : 'fullname',
message : 'Name lengkap'
},
{
name : 'ttl',
message : 'Tempat tanggal lahir'
},
{
name : 'ktp',
message : 'Nomor KTP'
},
{
name : 'phone',
message : 'Nomor Telp'
},
{
name : 'fullname',
message : 'Name lengkap'
},
{
name : 'address',
message : 'Alamat lengkap'
},
{
name : 'status',
message : 'Alamat lengkap',
type : 'list',
choices : ['sudah', 'belum', 'pernah']
},
])
.then(ans=>{
console.clear()
let result =
--------------------------------------
Nama lengkap : ${ans.fullname}
Tempat tanggal lahir : ${ans.ttl}
NO KTP : ${ans.ktp}
Telp : ${ans.phone}
Alamat : ${ans.address}
Status : ${ans.status}
--------------------------------------
//menulis data result kedalan file txt
fs.writeFileSync('./storage/test.txt', result, 'utf-8')
//tampilkan ke console result
console.log(result)
})
`
hasilnya
selanjutnya kita
`
//dataWarga
import inquirer from "inquirer";
import fs from 'fs'
console.info(`
Aplikasi data- warga
`)
inquirer.prompt([
{
name : 'fullname',
message : 'Name lengkap'
},
{
name : 'ttl',
message : 'Tempat tanggal lahir'
},
{
name : 'ktp',
message : 'Nomor KTP'
},
{
name : 'phone',
message : 'Nomor Telp'
},
{
name : 'fullname',
message : 'Name lengkap'
},
{
name : 'address',
message : 'Alamat lengkap'
},
{
name : 'status',
message : 'Alamat lengkap',
type : 'list',
choices : ['sudah', 'belum', 'pernah']
},
])
.then(ans=>{
console.clear()
let result =
--------------------------------------
Nama lengkap : ${ans.fullname}
Tempat tanggal lahir : ${ans.ttl}
NO KTP : ${ans.ktp}
Telp : ${ans.phone}
Alamat : ${ans.address}
Status : ${ans.status}
--------------------------------------
//buat nama file
let fileName = ans.fullname
//menulis data result kedalan file txt
fs.writeFileSync(`./storage/${ fileName}.txt`, result, 'utf-8')
//tampilkan ke console result
console.log(result)
})
`
Terima kasih.
https://github.com/andiks2018/JvalleyNode-cliApp.git
Top comments (0)